专栏文章
站外题求解
学习·文化课参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mior3b0y
- 此快照首次捕获于
- 2025/12/02 23:46 3 个月前
- 此快照最后确认于
- 2025/12/02 23:46 3 个月前

有没有哪个大佬可以看一下我这里哪错了
CPP#include<bits/stdc++.h>
using namespace std;
bool cmp(int x, int y) {
return x > y;
}
long long T, n, m[200010];
int main() {
cin >> T;
for (int i = 0; i < T; i++) {
cin >> n;
for (int j = 0; j < n; j++) {
cin >> m[j];
}
sort(m, m + n, cmp);
int a = 0, b = 0;
while (true) {
if (n == 0) {
break;
}
for (int j = 0; j < n; j++) {
if (m[j] % 2 != 0) {
m[j] = -10000000000;
sort(m, m + n, cmp);
n--;
break;
}
if (m[j] % 2 == 0) {
a += m[j];
m[j] = -10000000000;
n--;
sort(m, m + n, cmp);
break;
}
}
for (int j = 0; j < n; j++) {
if (m[j] % 2 == 0) {
m[j] = -10000000000;
sort(m, m + n, cmp);
n--;
break;
}
if (m[j] % 2 != 0) {
b += m[j];
m[j] = -10000000000;
n--;
sort(m, m + n, cmp);
break;
}
}
}
if (a > b) {
cout << "A\n";
} else if (a == b) {
cout << "C\n";
} else {
cout << "B\n";
}
}
return 0;
}
谢谢!这对我很重要!
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...