时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
你有一个长度为

的序列

,第

位的值为

,下标从

开始 。
序列中第

小的值 为 整个序列从小到大排序之后,第

位的值。
现在要进行

次操作,每次操作给出两个参数

和

。
如果

,请输出序列中第

小的值。
由于本题数据量较大,除了C语言选手,请优化你们的输入输出 。
这里给出几种 C++ 的优化方案。
1.关闭流同步,把 endl 替换为 '\n' 。
#include <iostream>
using namespace std;
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
cout<<n<<'\n';
return 0;
}
2.使用

。
3.使用头文件 cstdio ,然后用 scanf 和 printf 。
输入描述:
第一行有两个整数
和
。
第二行有
个整数
。
随后
行,每行两个整数
和
。
输出描述:
对于每次
的操作,输出序列中第
小的值,并换行。
示例1
输入
复制
5 10
1 4 2 5 3
0 1
0 2
0 3
0 4
0 5
4 2
0 3
1 5
0 1
0 3