站外题求解

· · 学习·文化课

有没有哪个大佬可以看一下我这里哪错了

#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;
}

谢谢!这对我很重要!