nicuvlad76

Untitled

Dec 12th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define N 140
  3. using namespace std;
  4.  
  5. ifstream fin("joc10.in");
  6. ofstream fout("joc10.out");
  7. int a[N][N], b[N][N];
  8. int pmax, vcerc,i,j,n;
  9.  
  10. int main()
  11. {
  12. fin>>n;
  13. n++;
  14. ///1
  15. for(i=1;i<=n;i++)
  16. for(j=1;j<=i;j++)
  17. {
  18. fin>>a[i][j]; b[i][j]=a[i][j];
  19. }
  20.  
  21. for(i=n;i>=1;i--)
  22. for(j=1;j<=i;j++)
  23. b[i][j]=b[i][j]+max(b[i+1][j],b[i+1][j+1]);
  24.  
  25. if(b[1][1]>pmax) vcerc=a[1][1],pmax=b[1][1];
  26. ///2
  27. for(i=1;i<=n;i++)
  28. for(j=1;j<=i;j++) b[i][j]=a[i][j];
  29.  
  30. for(i=1;i<=n;i++)
  31. for(j=i;j<=n;j++)
  32. b[j][j-i+1]=b[j][j-i+1]+max(b[j-1][j-i+1],b[j][j-i+2]);
  33. if(pmax<b[n][1] ||(pmax==b[n][i]&&vcerc>a[n][1]))
  34. vcerc=a[n][1],pmax=b[n][1];
  35. ///3
  36. for(i=1;i<=n;i++)
  37. for(j=1;j<=i;j++) b[i][j]=a[i][j];
  38. for(i=1;i<=n;i++)
  39. for(j=i;j<=n;j++)
  40. b[j][i]=b[j][i]+max(b[j][i-1],b[j-1][i-1]);
  41.  
  42. if(pmax<b[n][n] || (pmax==b[n][n]&& vcerc>a[n][n]))
  43. vcerc=a[n][n], pmax=b[n][n];
  44.  
  45. fout<<pmax<<'\n'<<vcerc<<'\n';
  46. return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment