Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. #include <fstream>
  2. #define N 1000000
  3. using namespace std;
  4.  
  5. ifstream fin("cufar.in");
  6. ofstream fout("cufar.out");
  7.  
  8. int c[N+5],p,z[N+5],k[N+5],f[N+5],divv[N+5],m,n,x,y;
  9. long long suma;
  10.  
  11. void Citire()
  12. { int i;
  13. fin>>p;
  14. if(p==1)
  15. { fin>>n;
  16. fin>>x>>y;
  17. }
  18. else
  19. { fin>>n;
  20. for(i=1;i<=n;i++)
  21. { fin>>z[i]>>k[i];
  22. f[z[i]]=k[i];
  23. }
  24. }
  25. }
  26.  
  27. void Ciur()
  28. { int i,j;
  29. c[2]=1;
  30.  
  31. for(i=2;i<=N;i=i+2)
  32. { divv[i]++;
  33. if(1==f[i]) suma=suma+1LL*2;
  34. }
  35. for(i=3;i<=N;i=i+2)
  36. c[i]=1;
  37. for(i=3;i*i<=N;i=i+2)
  38. if(c[i]==1)
  39. for(j=i;j<=N;j=j+i)
  40. { if(j!=i) c[j]=0;
  41. divv[j]++;
  42. if(divv[j]==f[j]) suma=suma+1LL*i;
  43. }
  44. }
  45.  
  46. void Cerinta1()
  47. { int i,ct=0;
  48. if(x%2==0) ct++;
  49. if(ct==y) {fout<<2; return;}
  50. for(i=3;i<=N;i=i+2)
  51. if(c[i]==1 && x%i==0)
  52. { ct++;
  53. if(ct==y) {fout<<i; return;}
  54. }
  55. }
  56.  
  57. void Cerinta2()
  58. {
  59. fout<<suma;
  60. }
  61.  
  62. int main()
  63. { int i;
  64. Citire();
  65. Ciur();
  66. if(p==1) Cerinta1();
  67. else Cerinta2();
  68.  
  69.  
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement