无无语语死死了了
查看原帖
无无语语死死了了
1492018
noiiloveyou楼主2025/1/24 15:38

这题耗了近一星期,最开始30pts,现在90pts。到底哪里错了???!!!

90分代码:

#include<bits/stdc++.h>
using namespace std;
int a,n,x,cnt=0,xy[1000000];
bool isxy[1000005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>a>>n;
	for(int i=0;i<1005;++i){
		if(i*i>=a){
			isxy[i*i]=1;
			for(int j=2;j*i*i<1000005;++j){
				isxy[i*i*j]=1;
			}
		}
	}
	for(int i=0;i<1000005;++i){
		if(isxy[i]){
			xy[cnt++]=i;
		}
	}
	for(int i=0;i<n;++i){
		cin>>x;
		if(isxy[x]){
			cout<<"lucky"<<endl;
		}
		else{
			cout<<xy[upper_bound(xy,xy+cnt,x)-xy]<<endl;
		}
	}
	return 0;
}
2025/1/24 15:38
加载中...