救救孩子吧,40分!3个TLE!
查看原帖
救救孩子吧,40分!3个TLE!
715760
War_GodO_oBrother楼主2022/12/4 19:49
#include<bits/stdc++.h>
using namespace std;
const int N=100000005;
int n,q;
int v[N],u[N],o[N];
void k(int x){
	int i,j;
	for(int i=2;i<x;i++){
		v[i]=1;
	}
	v[0]=v[1]=0;
	for(i=2;i*i<x;i++){
		if(v[i]==1){
			for(j=2*i;j<x;j+=i){
				v[j]=0;
			}
		}
	}
	j=0;
	for(i=1;i<x;i++){
		if(v[i]==1) u[j++]=i;
	}
	return;
}
int main()
{
	scanf("%d%d",&n,&q);
	for(int i=0;i<q;i++){
		scanf("%d",&o[i]);
	}
	k(n);
	for(int i=0;i<q;i++){
		cout<<u[o[i]-1]<<endl;
	}
	return 0;
}
2022/12/4 19:49
加载中...