直接找出一个不相交的集合a,b.满足min(a,b)且max(sum(a)-sum(b)):
不讲了,代码直接自己体会。但是注意一点,accumulate()函数帮你做了加法操作,但是需要去引入合适的头文件才可以。对应的头文件为:#include <numeric>
//数学问题
#include <iostream>
#include <algorithm>
#include <numeric>
using namespace std;
const int N=1e5+10;
int arr[N];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>arr[i];
sort(arr,arr+n);
int sum1=accumulate(arr+n/2,arr+n,0),sum2=accumulate(arr,arr+n/2,0);
cout<<n%2<<' '<<sum1-sum2;
return 0;
}