25WA
#include<bits/stdc++.h>
using namespace std;
int dp[105][10005],n,m,t,L,a[105][105];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t>>n>>m;
L=m;
for(int i=1;i<=t;++i)
{
for(int j=1;j<=n;++j)cin>>a[i][j];
}
for(int i=1;i<t;++i)
{
for(int j=1;j<=n;++j)
{
for(int k=0;k<=L;++k)
{
if(k>=a[i][j])dp[j][k]=max(dp[j][k],dp[j][k-a[i][j]]+a[i+1][j]-a[i][j]);
}
}
L+=dp[n][L];
memset(dp,0,sizeof(dp));
}
cout<<L;
return 0;
}
100AC
#include<bits/stdc++.h>
using namespace std;
int dp[10005],n,m,t,L,a[105][105];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t>>n>>m;
L=m;
for(int i=1;i<=t;++i)
{
for(int j=1;j<=n;++j)cin>>a[i][j];
}
for(int i=1;i<=t;++i)
{
for(int j=1;j<=n;++j)
{
for(int k=0;k<=L;++k)
{
if(k>=a[i][j])dp[k]=max(dp[k],dp[k-a[i][j]]+a[i+1][j]-a[i][j]);
}
}
L+=dp[L];
memset(dp,0,sizeof(dp));
}
cout<<L;
return 0;
}
新手求原因T_T