3125: BT1伙伴
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
有 �n 名士兵参加了一场激烈的战斗。每个士兵身边有两个伙伴,第 �i 号士兵的左侧伙伴编号为 �−1i−1,右侧伙伴的编号为和 �+1i+1。11 号士兵没有左侧伙伴,�n 号士兵没有右侧伙伴。
在战斗过程中,陆续牺牲了 �m 名士兵。一旦一名士兵牺牲了,存活的士兵就会相互接近,形成新的伙伴关系。给定士兵们牺牲的顺序及编号,请你输出当每个士兵牺牲时,新构成伙伴关系的两个士兵的编号。
输入
第一行:两个正整数表示 �n 和 �m。
第二行到第 �+1m+1 行:在第 �+1i+1 行,有一个正整数 ��si,表示第 �i 个牺牲的士兵编号。
第二行到第 �+1m+1 行:在第 �+1i+1 行,有一个正整数 ��si,表示第 �i 个牺牲的士兵编号。
- 对于 30%30% 的数据,1≤�≤100001≤n≤10000;
- 对于 60%60% 的数据,1≤�≤1000001≤n≤100000;
- 对于 100%100% 的数据,1≤�≤10000001≤n≤1000000,1≤�<�1≤m<n。
输出
共 �m 行:每行两个整数,第 �i 行表示当 ��si 牺牲时,左右伙伴的编号,如果某侧没有伙伴,输出一个 *。
样例输入 复制
5 3
3
2
1
样例输出 复制
2 4
1 4
* 4