Saleh127

UVA 10650

Jul 21st, 2020
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long int
  4. #define maX 1000008
  5. vector<ll>p,ans;
  6. bool marked[maX];
  7. void sieve()
  8. {
  9. marked[0]=1;
  10. marked[1]=1;
  11. p.push_back(2);
  12. for(ll i=4;i<=maX;i+=2)
  13. {
  14. marked[i]=1;
  15. }
  16. for(ll i=3;i<=maX;i+=2)
  17. {
  18. if(marked[i]==0)
  19. {
  20. for(ll j=i*i; j<=maX; j+=i+i)
  21. {
  22. marked[j]=1;
  23. }
  24. }
  25. }
  26. for(ll i=3;i<=maX;i+=2)
  27. {
  28. if(marked[i]==0)
  29. {
  30. p.push_back(i);
  31. }
  32. }
  33. }
  34. int main()
  35. {
  36.  
  37. sieve();
  38. ll a,c,d=0;
  39. while(scanf("%lld%lld",&a,&c) && (a+c)>0)
  40. {
  41. if(a>c) swap(a,c);
  42.  
  43. for(ll i=0; ; )
  44. {
  45. ans.clear();
  46. if(p[i]>c) break;
  47. ll df=p[i+1]-p[i],cnt=0,id=i+1;
  48.  
  49. ans.push_back(p[i]);
  50. ans.push_back(p[i+1]);
  51.  
  52. while(p[id+1]-p[id]==df)
  53. {
  54. ans.push_back(p[id+1]);
  55. id++,cnt++;
  56. }
  57. if(cnt==0)
  58. {
  59. i++;
  60. continue;
  61. }
  62. i=id;
  63. ll x=ans.size();
  64. if(ans[0]<a || ans[x-1]>c)
  65. {
  66. continue;
  67. }
  68. printf("%lld",ans[0]);
  69. for(ll k=1;k<ans.size();k++)
  70. {
  71. printf(" %lld",ans[k]);
  72. }
  73. printf("\n");
  74. }
  75.  
  76.  
  77. }
  78.  
  79.  
  80. return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment