题目描述
有 n(n \le 2 \times 10^6)n(n≤2×10
6
) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 1 到 10^910
9
之间),按进教室的顺序给出。上课了,老师想知道第 ii 个进入教室的同学的学号是什么(最先进入教室的同学 i=1i=1),询问次数不超过 10^510
5
次。
输入格式
第一行 2 个整数 n 和 m,表示学生个数和询问次数。
第二行 n 个整数,表示按顺序进入教室的学号。
第三行 m 个整数,表示询问第几个进入教室的同学。
输出格式
m 个整数表示答案,用换行隔开。
输入输出样例
输入 #1 复制
10 3
1 9 2 60 8 17 11 4 5 14
1 5 9
输出 #1 复制
1
8
5
对vector数组的简单应用。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int n, m;
vector<int> v;
int main(){
scanf("%d%d", &n, &m);
while (n -- ){
int x;
scanf("%d", &x);
v.push_back(x);
}
while (m -- ){
int x;
scanf("%d", &x);
printf("%d\n", v[x - 1]);
}
return 0;
}