```cpp
```
这是一道01背包?
by youth191954 @ 2024-04-16 13:37:26
你这道题是凑答案凑出来的10分吧?
枚举人时小c也要算。
建议这道从2维降到1维
这道题还需要排序,代码如下
```cpp
```
```cpp
#include<bits/stdc++.h>
using namespace std;
int s,n,m,a[105][105],dp[20001];
int main(){
cin>>s>>n>>m;
for(int j=1;j<=s;++j)
for(int i=1;i<=n;++i){
cin>>a[i][j];
}
for(int i=1;i<=n;++i)sort(a[i]+1,a[i]+s+1);
for(int i=1;i<=n;++i){
for(int j=m;j>=0;--j){
for(int k=0;k<=s;++k){
int v=2*a[i][k]+1;
int w=i*k;
if(v>j)break;
else dp[j]=max(dp[j],dp[j-v]+w);
}
}
}
cout<<dp[m];
}
```
by youth191954 @ 2024-04-16 13:50:52