首先输入给定的 N 个正整数,然后判断 n1 和 n2 的绝对值之差是否为0,同时记录 n1 和 n2 的绝对值之差为1时的情况。接着计算 A1 和 A2 中元素的个数,并将给定的正整数排序。然后遍历排序后的正整数,依次将它们分配到 small和 big两个集合中,计算它们的元素和 small 和 big,最后计算它们的差值,即为所求的结果。
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
const int N=100010;
int big,small,num[N];
int main()
{
int n,flag=0,x;
cin>>n;
if(n%2==0) cout<<0<<" ";
else cout<<"1"<<" ",flag=1;
x=(n-flag)/2-1;
for(int i=0;i<n;++i) cin>>num[i];
sort(num,num+n);
for(int i=0;i<n;++i)
{
if(i<=x) small+=num[i];
else big+=num[i];
}
cout<<big-small;
return 0;
}