为社么40分
查看原帖
为社么40分
1304133
ssy111000楼主2024/10/21 20:53
#include <bits/stdc++.h>
using namespace std;
int a[5],w[201],dp[201][20001],timee;
int main(){
    cin>>a[1]>>a[2]>>a[3]>>a[4];
    for (int key=1;key<=4;key++){
        int summ=0;
        for (int i=1;i<=a[key];i++){
            cin>>w[i];
            summ+=w[i];

        }
        for (int i=1;i<=a[key];i++){
            for (int j=w[i];j<=summ/2;j++){
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+w[i]);
               ;

            }
        }
        timee+=summ-dp[a[key]][summ/2];
        for (int i=1;i<=a[key];i++){
            for (int j=w[i];j<=summ/2;j++){
                dp[i][j]=0;
            }
        }
    }
    cout<<timee;
}
2024/10/21 20:53
加载中...