70pnt求助
查看原帖
70pnt求助
756598
Euphonium_楼主2022/8/7 12:40

记录

代码:

#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f;
int res;
int s[INF];
int a[INF];
int n,m;
void dfs(int step, int ans)
{
    if (step == n + 1)
	{
        m = min(m, max(ans, res - ans));
        return;
    }
    dfs(step + 1, ans);
    dfs(step + 1, ans + a[step + 1]);
}

int main()
{
    for (int i = 1; i <= 4; i++)
	{
		cin >> s[i];
	}
    int sum = 0;
	memset(a,0,sizeof(a));
    for (int i = 1; i <= 4; i++)
	{
        res = 0;
        for (int j = 1; j <= s[i]; j++)
		{
            cin >> a[j];
            res += a[j];
        }
        n = s[i];
        m = INF;
        dfs(1, 0);
        sum += m;
    }
    cout << sum << endl;
    return 0;
}
2022/8/7 12:40
加载中...