PAT A1113 Integer Set Partition [模拟]

Posted doragd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT A1113 Integer Set Partition [模拟]相关的知识,希望对你有一定的参考价值。

题目描述

链接
给一堆数,分成两堆,要求两堆数目差值最小,其次追求两堆的差值尽量大

分析

  • 排序

代码

#include<bits/stdc++.h>
using namespace std;


int n;
const int maxn = 1e5+10;
int a[maxn];

int main()
    cin>>n;
    int s1 = 0, s2 = 0;
    for(int i=0;i<n;i++)
        cin>>a[i];
    
    sort(a,a+n);
    for(int i=0;i<n;i++)
        if(i<n/2) s1+=a[i];
        else s2+=a[i];
    
    if(n%2==0)
        printf("0 ");
    
    else
        printf("1 ");
    
    printf("%d\n",abs(s2-s1));

以上是关于PAT A1113 Integer Set Partition [模拟]的主要内容,如果未能解决你的问题,请参考以下文章

A1113 | Integer Set Partition (25)

A1113 Integer Set Partition (25分)

A1113 Integer Set Partition (25分)

PAT 1113 Integer Set Partition

PAT1113: Integer Set Partition

PAT (Advanced Level) 1113. Integer Set Partition (25)