全部都MLE了
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
bool Isprime(int);
vector<int> eluer_sieve(int m){
vector<int> result;
vector<bool> status(m+1,true);
for(int i=2;i<=sqrt(m);i++){
if(Isprime(i)){
result.push_back(i);
for(int j=0;j<result.size()&&result[j]*i>m;j++)
{
if(i%result[j]==0)
break;
status[result[j]*i]=false;
}
}
}
for(int l=sqrt(m)+1;l<=m;l++){
if(status[l]==true)
result.push_back(l);
}
return result;
}
bool Isprime(int n){
for(int i=2;i<=sqrt(n);i++){
if(n%i==0)
return false;
}
return true;
}
vector<int> eluer_sieve(int);
int main(){
vector<int> res;
int m,q;
cin>>m>>q;
res=eluer_sieve(m);
for(int i=1;i<=q;i++){
int seek;
cin>>seek;
cout<<res[seek-1]<<endl;
}
}