厌氧代码,求调UB
查看原帖
厌氧代码,求调UB
217300
Error_Eric楼主2022/8/30 07:27

另求助:赛时怎么查自己的代码是否厌氧。

#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));
    }
} 
2022/8/30 07:27
加载中...