a53

M_a_c_a_r_a

a53
Aug 5th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <fstream>
  2. #define NMax 5005
  3. #define Nk 1001
  4. using namespace std;
  5. int a[Nk][Nk],ti1[Nk],ti2[Nk],tj1[Nk],tj2[Nk],Poz[Nk];
  6. int i1,i2,j1,j2,n,t,m,k,nr,sp;
  7. long long b[Nk][Nk],s,i,j,maxx;
  8. int w[NMax];
  9. bool ok;
  10. int main()
  11. {
  12. ifstream f("macara.in");
  13. ofstream g("macara.out");
  14. f >> m >> n;
  15. for(i=2;i<=NMax;i++)
  16. if(w[i]==0)
  17. {
  18. for(j=i*i;j<=NMax;j=j+i)
  19. w[j]=1;
  20. }
  21. w[1]=1;
  22. for(i=1;i<=m;i++)
  23. {
  24. s=0;
  25. ok=true;
  26. for(j=1;j<=n;j++)
  27. {
  28. f >> a[i][j];
  29. if((ok)&&(w[a[i][j]]==0))
  30. {
  31. ok=false;
  32. sp=sp+a[i][j];
  33. s=s+a[i][j];
  34. b[i][j]=s;
  35. }
  36. if(w[a[i][j]]==1) s=s+a[i][j], b[i][j]=s;
  37. else b[i][j]=s;
  38. }
  39. }
  40. f >> k;
  41. for(t=1;t<=k;t++)
  42. {
  43. f >> i1 >> j1 >> i2 >> j2;
  44. s=0;
  45. for(i=i1;i<=i2;i++)
  46. s=s+b[i][j2]-b[i][j1-1];
  47. if(s>maxx) {maxx=s; nr=1; ti1[nr]=i1; tj1[nr]=j1; ti2[nr]=i2; tj2[nr]=j2; Poz[nr]=t;}
  48. else if(s==maxx) {nr++; ti1[nr]=i1; tj1[nr]=j1; ti2[nr]=i2; tj2[nr]=j2; Poz[nr]=t;}
  49. }
  50. g << sp << "\n";
  51. g << maxx << "\n";
  52. for(i=1;i<=nr;i++)
  53. g << ti1[i] << " " << tj1[i] << " " << ti2[i] << " " << tj2[i] << " " << Poz[i] << "\n";
  54. return 0;
  55. }
Add Comment
Please, Sign In to add comment