zoukankan      html  css  js  c++  java
  • 1113 Integer Set Partition (25分)

    Given a set of N (>) positive integers, you are supposed to partition them into two disjoint sets A1​​ and A2​​ of n1​​ and n2​​ numbers, respectively. Let S1​​ and S2​​ denote the sums of all the numbers in A1​​ and A2​​, respectively. You are supposed to make the partition so that ∣ is minimized first, and then ∣ is maximized.

    Input Specification:

    Each input file contains one test case. For each case, the first line gives an integer N (2), and then N positive integers follow in the next line, separated by spaces. It is guaranteed that all the integers and their sum are less than 231​​.

    Output Specification:

    For each case, print in a line two numbers: ∣ and ∣, separated by exactly one space.

    Sample Input 1:

    10
    23 8 10 99 46 2333 46 1 666 555
    
     

    Sample Output 1:

    0 3611
    
     

    Sample Input 2:

    13
    110 79 218 69 3721 100 29 135 2 6 13 5188 85
    
     

    Sample Output 2:

    1 9359

    将一个数分为2个集合,求如何分,能够使个数差最小,总和差最大。

    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    int main() {
        int n, sum = 0, halfsum = 0;
        scanf("%d", &n);
        vector<int> v(n);
        for(int i = 0; i < n; i++) {
            scanf("%d", &v[i]);
            sum += v[i];
        }
        sort(v.begin(), v.end());
        for(int i = 0; i < n / 2; i++)
            halfsum += v[i];
        printf("%d %d", n % 2, sum - 2 * halfsum);
        return 0;
    }
  • 相关阅读:
    前端 --> CSS基础
    前端 css 补充内容
    前端 ---> HTML
    MySQL数据库 -- Navicat、pycharm连接数据库
    mysql数据库 --表查询
    IOC Unity
    泛型2
    泛型1
    特性 Attribute
    里氏替换原则
  • 原文地址:https://www.cnblogs.com/littlepage/p/12857991.html
Copyright © 2011-2022 走看看