90分第一个点wa,求调
查看原帖
90分第一个点wa,求调
1126005
00000000007f楼主2024/8/8 17:01
#include <iostream>
#include <cstdio>
using namespace std;
int book[1000005];
int main()
{
	int a,n;
	cin>>a>>n;
	for(int i=2;i*i<=1000000;i++){
		book[i*i]=1;
		for(int j=i*i*2;j<=1000000;j+=i*i){
			book[j]=i*i;
		}
	}
	while(n--){
		int x,flag=0;
		cin>>x;
		if(book[x]&&x>=a){
			if(book[x]==1){
				cout<<"lucky\n";
				flag=1;
			}
			else if(book[x]>=a){
				cout<<"lucky\n";
				flag=1;
			}
		}
		if(!flag){
			for(int i=x;i<=1000000;i++){
				if((book[i]==1&&i>=a)||book[i]>=a){
					cout<<i<<'\n';
					break;
				}
			}
		}
	}
    return 0;
}
2024/8/8 17:01
加载中...