#include<bits/stdc++.h>
using namespace std;
int s,n,m;
int a[105][105];
int f[20005];//花费k个兵的最大得分
int main()
{
cin>>s>>n>>m;
for(int i = 1;i <= s;i ++)
for(int j = 1;j <= n;j ++)
cin>>a[i][j],a[i][j] = a[i][j] * 2 + 1;
for(int j = 1;j <= n;j ++)
for(int k = m;k >= 0;k --)
{
int sum = 0,maxx = 0;
for(int i = 1;i <= s;i ++)
if(k >= a[i][j])
{
sum += j;
maxx = max(maxx,a[i][j]);
}
f[k] = max(f[k],f[k - maxx] + sum);
}
cout<<f[m]<<'\n';
return 0;
}
只有40pts,求大佬帮忙看一下代码逻辑上的问题qwq