标签:++ with return cas mem eof namespace sum chmod
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4158 Accepted Submission(s):
1194
1 #include "bits/stdc++.h" 2 using namespace std; 3 typedef long long LL; 4 const int MAX=1e6+5; 5 int n,cas; 6 int pri[MAX]; 7 bool t[MAX]; 8 inline int read(){ 9 int an=0,x=1;char c=getchar(); 10 while (c<‘0‘ || c>‘9‘) {if (c==‘-‘) x=-1;c=getchar();} 11 while (c>=‘0‘ && c<=‘9‘) {an=an*10+c-‘0‘;c=getchar();} 12 return an*x; 13 } 14 void Prime(){ 15 int i,j; 16 memset(t,true,sizeof(t)); 17 for (i=2;i<MAX;i++){ 18 if (t[i]) pri[++pri[0]]=i; 19 for (j=1;j<=pri[0] && pri[j]*i<MAX;j++){ 20 t[i*pri[j]]=false; 21 if (i%pri[j]==0) break; 22 } 23 } 24 } 25 int main(){ 26 freopen ("prime.in","r",stdin); 27 freopen ("prime.out","w",stdout); 28 int i,j,x; 29 Prime(); 30 bool fu; 31 cas=read(); 32 while (cas--){ 33 x=read(); 34 fu=false; 35 if (x<0){fu=true;x=-x;} 36 bool flag=false; 37 for (i=1;i<=pri[0];i++){ 38 if (pri[i]+x>=MAX) continue; 39 if (t[pri[i]+x]) break; 40 } 41 if (i==pri[0]+1){puts("FAIL");} 42 else{ 43 if (fu){ 44 printf("%d %d\n",pri[i],pri[i]+x); 45 } 46 else{ 47 printf("%d %d\n",pri[i]+x,pri[i]); 48 } 49 } 50 } 51 return 0; 52 }
HDU-4715 Difference Between Primes(线性筛法)
标签:++ with return cas mem eof namespace sum chmod
原文地址:http://www.cnblogs.com/keximeiruguo/p/7657962.html