社区讨论
95pts求条
B3929[GESP202312 五级] 小杨的幸运数参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miempya9
- 此快照首次捕获于
- 2025/11/25 21:46 3 个月前
- 此快照最后确认于
- 2025/11/25 23:07 3 个月前
WA on #15
CPP#include <iostream>
using namespace std;
int a,in[200000],n,x,Max,Min=1000010,mnext[1000002];
bool lucky[1000002];
int sqrt_ceil(int n){
int m=__builtin_sqrt(n);
if(m*m!=n) ++m;
return m;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>a>>n;
int m=sqrt_ceil(a);
for(int i=0;i<n;++i) cin>>in[i],
Max=max(Max,in[i]),
Min=min(Min,in[i]);
for(int i=m,e=__builtin_sqrt(Max);i<=e;++i){
int tem=i*i;
for(long long j=tem;j<=Max;j+=tem)
lucky[j]=1;
}
for(int i=Max,l=sqrt_ceil(Max)*sqrt_ceil(Max);i>=Min;--i){
if(lucky[i]) l=i,mnext[i]=i;
else mnext[i]=l;
}
for(int i=0;i<n;++i){
if(lucky[in[i]]) cout<<"lucky\n";
else cout<<mnext[in[i]]<<'\n';
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...