为什么是25分啊,不明白
#include<bits/stdc++.h>
using namespace std;
const int maxt = 105,maxn = 105,maxm = 1005;
int dp[maxt*maxn];
int a[maxt][maxn];
bool cmp(int a,int b){
return a>b;
}
int main(){
int t,n,m,money = 0;
cin>>t>>n>>m;
for(int i = 1;i<=t;i++){
for(int j = 1;j<=n;j++){
cin>>a[i][j];
}
}
money = m;
for(int i = 1;i<=t;i++){
memset(dp,-0x3f3f,sizeof(dp));
dp[money] = money;
for(int j = 1;j<=n;j++){
for(int k = money;k>=a[i][j];k--){
dp[k-a[i][j]] = max(dp[k]-a[i][j],dp[k]+a[i+1][j]-a[i][j]);
}
}
int Max = -0x3f;
for(int j = 1;j<=money;j++){
Max = max(Max,dp[j]);
}
money = Max;
}
cout<<money;
}