- PAT 甲级 刷题日记|A 1113 Integer Set P
- PAT 甲级 刷题日记|A 1103 Integer Fact
- PAT 甲级 刷题日记|A 1132 Cut Integer (
- PAT 甲级 刷题日记|A 1063 Set Similar
- PAT A1001 A+B Format (20)
- PAT 甲级 刷题日记|A 1122 Hamiltonian
- PAT 甲级 刷题日记|A 1123 Is It a Compl
- PAT 甲级 刷题日记|A 1038 Recover the
- PAT 甲级 刷题日记|A 1043 Is It a Bina
- PAT 甲级 刷题日记|A 1129 Recommendatio
单词积累
disjoint 打散 拆开
思路
分成两个集合,数量之差最小,总和之差尽可能大。排序后平分即可
代码
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100003;
int n;
int num[maxn];
int main() {
cin>>n;
for (int i = 0; i < n; i++) {
cin>>num[i];
}
sort(num, num + n);
if (n % 2 == 1) cout<<1<<" ";
else cout<<0<<" ";
int ans1 = 0, ans2 = 0;
for (int i = 0; i < n / 2; i++) {
ans1 += num[i];
}
for (int i = n / 2; i < n; i++) {
ans2 += num[i];
}
cout<<ans2-ans1<<endl;
}
网友评论