从大到小排序, 牛牛先选, 然后羊羊选, 就是奇数加在牛牛上, 偶数加在羊羊上,最后输出他们的差
#include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 100010; int a[N]; int n; int main() { std::ios::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; sort(a + 1, a + n + 1); reverse(a + 1, a + n + 1); int cow = 0, sheep = 0; for(int i = 1; i <= n; i++) { if(i & 1) cow += a[i]; else sheep += a[i]; } cout << cow - sheep << endl; return 0; }