标签:ace ons int print str namespace 素数 for 答案
素数筛,数据范围不大,直接暴力筛。
坑:有个数据是 1 1,答案是1.差点没把我卡去世。
我的三观哪去了。
#include<iostream> #include<cstdio> #include<utility> #include<algorithm> #include<cstring> using namespace std; const int maxp=2e4+5,maxn=5e3+5; int fac[maxp],a[maxn]; int main() { int n; std::ios::sync_with_stdio(false); cin>>n; int maxpp=0; for(int i=1;i<=n;i++){ cin>>a[i]; maxpp=max(maxpp,a[i]); } fac[1]=1; for(int i=2;i<=maxpp;i+=2)fac[i]=2; for(int i=3;i<=maxpp;i+=2) if(!fac[i]) for(int j=i;j<=maxpp;j+=i) fac[j]=i; int maxi; for(int zp,maxx=0,i=1;i<=n;i++) { zp=a[i]; if(fac[zp]>maxx)maxx=fac[zp],maxi=zp; } printf("%d",maxi); return 0; }
标签:ace ons int print str namespace 素数 for 答案
原文地址:https://www.cnblogs.com/BrotherHood/p/13084034.html