#include<bits/stdc++.h>
using namespace std;
int s[50000001];
int n,q,h[1000001];
bool flag(int x){
int j=2;
bool f=true;
while(j<=x-1){
if(!(x%j)){
f=false;
break;
}
j++;
}
if(x==2){
f=true;
}
return f;
}
int main(){
int j=0;
scanf("%d%d",&n,&q);
for(int i=2;i<=n;i++){
if(flag(i)){
s[++j]=i;
}
}
for(int i=1;i<=q;i++){
scanf("%d",&h[i]);
printf("%d\n",s[h[i]]);
}
return 0;
}
我已经优化了时间复杂度了,怎么还超时啊!!!