Advertisement
a53

sipet

a53
Jul 13th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #include <fstream>
  2.  
  3. using namespace std;
  4. ifstream fin ("sipet.in");
  5. ofstream fout("sipet.out");
  6. int n,i,j,p1,p2,p3,t1,t2,t3,s1,s2,rest,smax,rmax,v1,v2,v3,stop,r,k;
  7.  
  8.  
  9. int prim(int x)
  10. {
  11. int d=2;
  12. while(d*d<=x)
  13. if (x%d==0) return 0;
  14. else d++;
  15. return 1;
  16. }
  17. int main()
  18. {
  19. int t,teste;
  20. fin>>teste;
  21. for(t=1;t<=teste;t++)
  22. {
  23. fin>>n>>p1;
  24. while(prim(p1)==0) p1++;
  25. p2=p1+1;
  26. while(prim(p2)==0) p2++;
  27. p3=p2+1;
  28. while(prim(p3)==0) p3++;
  29. smax=0; rmax=0;
  30. stop=0;
  31. //fout<<p1<<' '<<p2<<' '<<p3<<endl;
  32. for(r=0;r<p1 && stop==0;r++)
  33. {
  34. t1=(n-r)/p1;
  35. for(i=t1;i>=0 && stop==0;i--)
  36. {
  37. s1=i*p1; ///suma1
  38. t2=(n-r-s1)/p2;
  39. for(j=t2;j>=0 && stop==0;j--)
  40. {
  41. s2=j*p2; ///suma2
  42. // fout<<r<<' '<<i<<' '<<j<<endl;
  43. k=(n-r-s1-s2)/p3;
  44. rest=(n-r-s1-s2)%p3;
  45. if(rest==0 && i+j+k>smax)
  46. {
  47. stop=1;
  48. v1=i;
  49. v2=j;
  50. v3=k;
  51. smax=v1+v2+v3;
  52. rmax=r;
  53. }
  54. }
  55. }
  56. }
  57. fout<<smax<<' '<<v1<<' '<<v2<<' '<<v3<<' '<<rmax<<endl;
  58. }
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement