贪心+完全背包
#include<bits/stdc++.h>
using namespace std;
int f[101],t,n,m,a[101][101];
int main(){
cin>>t>>n>>m;
f[1]=m;
for(int i=1;i<=t;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
for(int i=2;i<=t;i++){
int k[f[i-1]+1];
for(int j=1;j<=f[i-1];j++)
k[j]=j;
for(int g=1;g<=n;g++)
for(int j=a[i-1][g];j<=f[i-1];j++)
k[j]=max(k[j],k[j-a[i-1][g]]+a[i][g]);
f[i]=k[f[i-1]];
}
cout<<f[t];
}