Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define N 140
- using namespace std;
- ifstream fin("joc10.in");
- ofstream fout("joc10.out");
- int a[N][N], b[N][N];
- int pmax, vcerc,i,j,n;
- int main()
- {
- fin>>n;
- n++;
- ///1
- for(i=1;i<=n;i++)
- for(j=1;j<=i;j++)
- {
- fin>>a[i][j]; b[i][j]=a[i][j];
- }
- for(i=n;i>=1;i--)
- for(j=1;j<=i;j++)
- b[i][j]=b[i][j]+max(b[i+1][j],b[i+1][j+1]);
- if(b[1][1]>pmax) vcerc=a[1][1],pmax=b[1][1];
- ///2
- for(i=1;i<=n;i++)
- for(j=1;j<=i;j++) b[i][j]=a[i][j];
- for(i=1;i<=n;i++)
- for(j=i;j<=n;j++)
- b[j][j-i+1]=b[j][j-i+1]+max(b[j-1][j-i+1],b[j][j-i+2]);
- if(pmax<b[n][1] ||(pmax==b[n][i]&&vcerc>a[n][1]))
- vcerc=a[n][1],pmax=b[n][1];
- ///3
- for(i=1;i<=n;i++)
- for(j=1;j<=i;j++) b[i][j]=a[i][j];
- for(i=1;i<=n;i++)
- for(j=i;j<=n;j++)
- b[j][i]=b[j][i]+max(b[j][i-1],b[j-1][i-1]);
- if(pmax<b[n][n] || (pmax==b[n][n]&& vcerc>a[n][n]))
- vcerc=a[n][n], pmax=b[n][n];
- fout<<pmax<<'\n'<<vcerc<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment