为什么5个tle
查看原帖
为什么5个tle
510360
HbugU楼主2021/6/5 06:58
#include<bits/stdc++.h>
using namespace std;
int q,k[1000005],n,prime[100000005],mark[100000005],cnt;
bool is_prime(){
	mark[0]=1;mark[1]=1;
	for(int i=2;i<=n;i++){
		if(mark[i]==0){
			prime[++cnt]=i;
			for(int j=2;i*j<=n;j++){
				mark[i*j]=1;
			}
		}
	}
}
int main(){
	std::ios::sync_with_stdio(0);
	cin>>n>>q;
	is_prime();
	for(int i=1;i<=q;i++){
		cin>>k[i];
	}
	for(int i=1;i<=q;i++){
		cout<<prime[k[i]]<<endl;
	}
	return 0;
} 
2021/6/5 06:58
加载中...