로곡 P2392 시험 전 포불발의 순수 코드 문제풀이
8168 단어 문제 코드
#include
#include
#include
using namespace std;
int maxn, ans, sum;
int s[5], a[25];
void dfs(int time, int cengshu, int i)
{
if(cengshu > s[i])
{
maxn = max(maxn, time);
return ;
}
if(time + a[cengshu] <= sum / 2)
dfs(time + a[cengshu], cengshu + 1, i);
dfs(time, cengshu + 1, i);
return ;
}
int main()
{
scanf("%d%d%d%d", &s[1], &s[2], &s[3], &s[4]);
for(int i = 1; i <= 4; i ++)
{
maxn = -1;
sum = 0;
memset(a, 0, sizeof(a));
for(int j = 1; j <= s[i]; j ++)
{
scanf("%d", &a[j]);
sum += a[j];
}
dfs(0, 1, i);
ans += (sum - maxn);
}
printf("%d
", ans);
return 0;
}