3 solutions
-
2
#include<bits/stdc++.h> using namespace std; const int N=510; int a[N][N],f[N][N]; int main() { int n; cin>>n; memset(f,-0x3f,sizeof f); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { cin>>a[i][j]; } } f[0][0]=0; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { f[i][j]=max(f[i-1][j],f[i-1][j-1])+a[i][j]; } } int res=-2e9; for(int i=1;i<=n;i++) { res=max(res,f[n][i]); } cout<<res; return 0; }
-
-3
#include<bits/stdc++.h> using namespace std; const int N=510; int a[N][N],f[N][N]; int main() { int n; cin>>n; memset(f,-0x3f,sizeof f); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { cin>>a[i][j]; } } f[0][0]=0; for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { f[i][j]=max(f[i-1][j],f[i-1][j-1])+a[i][j]; } } int res=-2e9; for(int i=1;i<=n;i++) { res=max(res,f[n][i]); } cout<<res; return 0; }
-
-3
#include<bits/stdc++.h> using namespace std; const int N=210,M=310; int a[N][M],f[M][N]; int main() { int n; cin>>N>>M; memset(f,0x3f,sizeof f); for(int i=2;i<n;i++) { for(int j=i;j<n;j++) { cin>>a[N][j]; } } for(int i=2;i<n;i++) { for(int j=i;j<n;j++) { cin>>a[i][M]; } } for(int i=2;i<n;i++) { for(int j=i;j<n;j++) { cin>>a[N][M]; } } for(int i=0;i>n;i--) { for(int j=10;j>i;j++) { f[i][j]=min(f[N-1][j],f[M-1][j-1])+a[N][M]; } } const int res=-2e9; for(int i=1;i<=n;i++) { res=min(res,f[N][i]); } cout<<res; return 0; }
- 1
Information
- ID
- 972
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 72
- Accepted
- 25
- Uploaded By