洛谷P3156 【深基15.例1】询问学号

题目大意:

n ( n ≤ 2 × 1 0 6 ) n(n ≤ 2 ×10^6) n(n2×106) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 1 1 1 1 0 9 10^9 109 之间),按进教室的顺序给出。上课了,老师想知道第 i i i 个进入教室的同学的学号是什么(最先进入教室的同学 i = 1 i=1 i=1),询问次数不超过 1 0 5 10^5 105 次。

思路/分析:

这道题考察了数组的用法。我们设置一个数组保存学生即可。当然,我们首先输入 n , m n,m n,m,然后在 i ∈ [ 1 , n ] i∈[1,n] i[1,n] 区间输入 a [ i ] a[i] a[i]。输入完毕后,再 j ∈ [ 0 , m ] j∈[0,m] j[0,m] 输入参数 x x x 即可(可以不用数组)。

代码:

#include <bits/stdc++.h>
using namespace std;
long long a[1000000];
int main(){
	long long n,m,x;
	cin >> n >> m;
	for(int i = 1;i <= n;++i){
		cin >> a[i];
	}
	for(int i = 1;i <= m;i++){
		cin >> x;
		cout << a[x] << endl;
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值