4 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=1010; int a[N][N]; int st[N][N]; int n; int dfs(int x,int y) { if(st[x][y]!=-1) { return st[x][y]; } if(a[x][y]==-1) { return 0; } int t=a[x][y]+max(dfs(x+1,y),dfs(x+1,y+1)); st[x][y]=t; return t; } int main() { cin>>n; memset(a,-1,sizeof a); memset(st,-1,sizeof st); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { cin>>a[i][j]; } } cout<<dfs(1,1); return 0; }
Information
- ID
- 972
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 90
- Accepted
- 34
- Uploaded By