题目链接https://pintia.cn/problem-sets/994805342720868352/problems/994805357258326016
不懂为什么是25分的题。。。
思路:对半分,奇数的话大的那个set多一个数。然后排序,前一半给小set,后一半给大set。最后输出即可
完整代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
using namespace std;
int main() {
int N;
scanf("%d", &N);
vector<int> arr(N);
for (int i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
int n1 = N/2, n2 = N/2;
if (N % 2 != 0)
n2++;
sort(arr.begin(), arr.end());
int s1 = 0, s2 = 0;
for (int i = 0; i < n1; i++)
s1 += arr[i];
for (int i = n1; i < N; i++)
s2 += arr[i];
printf("%d %d", n2-n1, s2-s1);
return 0;
}