Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147916 | 曾煦翔 | 对抗赛 | C++ | 通过 | 100 | 145 MS | 252 KB | 520 | 2024-05-20 13:44:30 |
# include <bits/stdc++.h> using namespace std; int s[1005] , n , maxn = -1; void dfs(int cnt , int a , int b , int x , int y) { if (cnt > n){ maxn = max(maxn , min(a , b)); return; } if (x < n / 2) dfs(cnt + 1 , a + s[cnt] , b , x + 1 , y) ; if (y < n / 2) dfs(cnt + 1 , a , b + s[cnt] , x , y + 1); return; } int main() { cin >> n; for (int i = 1 ; i <= n;i ++) cin >> s[i]; dfs(1 , 0 , 0 , 0 , 0); cout << maxn << endl; return 0; }