1 solutions
-
1
#include <bits/stdc++.h> using namespace std; int dp[10005],price[105][105]; int main(){ int t,n,m,ans; scanf("%d%d%d",&t,&n,&m); for(int i = 1;i<=t;i++) for(int j = 1;j<=n;j++)scanf("%d",&price[i][j]); ans = m; for(int i = 1;i<=t;i++){ memset(dp,INT_MAX,sizeof(dp)); dp[ans] = ans; for(int j = 1;j<=n;j++) for(int k = ans;k>=price[i][j];k--)dp[k-price[i][j]] = max(dp[k-price[i][j]],dp[k]+price[i+1][j]-price[i][j]); int rong_qi = 0; for(int j = 0;j<=ans;j++)rong_qi = max(rong_qi,dp[j]); ans = rong_qi; } printf("%d",ans); return 0; }
Information
- ID
- 755
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 10
- Accepted
- 4
- Uploaded By