另求助:赛时怎么查自己的代码是否厌氧。
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<vector>
using namespace std;
#define il inline
const int inf=0x3fffffff;
il const void readln(int &I){
I=0;char C=getchar();
while(!isdigit(C))C=getchar();
while( isdigit(C))I=I*10+C-'0',C=getchar();
}
const int maxx=10000007;
bool wa[maxx];
int nums[maxx],cnt;
void init(){
for(int i=1;i<maxx-7;i*=10)
for(int j=0;j<i;j++)
for(int k=0;k<=maxx-7;k+=10*i)
wa[i*7+j+k]=1;
for(int i=1;i<=maxx-7;i++){
if(wa[i])
for(int j=1;j*i<maxx-7;j++)
wa[i*j]=1;
else nums[++cnt]=i;
}
nums[++cnt]=10000001;
}
int t,x;
int main(){
init(),readln(t);
while(t--){
readln(x);
if(wa[x])puts("-1");
else printf("%d\n",*(lower_bound(nums+1,nums+cnt+1,x)+1));
}
}