1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=1e3+10; int a[N][N],dp[N][N],ans[N],cnt=0; int main() { int i,j,n,m; cin>>m>>n; for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ cin>>a[i][j]; } } for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ a[i][j]+=max(a[i-1][j],a[i][j-1]); } } int x=m,y=n; for(i=1;i<=n+m-1;i++){ if(a[x-1][y]>a[x][y-1]){ ans[i]=a[x][y]-a[x-1][y]; x--; } else{ ans[i]=a[x][y]-a[x][y-1]; y--; } } for(i=n+m-1;i>=1;i--){ cout<<ans[i]; if(i!=1){ cout<<"-"; } } return 0; }
Information
- ID
- 711
- Time
- 1000ms
- Memory
- 16MiB
- Difficulty
- 7
- Tags
- # Submissions
- 18
- Accepted
- 10
- Uploaded By