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;
    }
  • 相关阅读:
    easyui 自定义editor扩展 propertygrid
    springboot 整合redis
    springboot 整合mybatis
    SpringBoot 打包war,并在tomcat中发布
    c# cef3 模拟浏览器上传文件
    c# cef3 判断文件下载是否完成
    c# cef3 关闭浏览器弹出新窗口
    c# 利用cef3抓取京东关键词商品列表,以手机为例
    c# 搭建cef3模拟浏览器
    c# TreeView实现三种选中状态
  • 原文地址:https://www.cnblogs.com/littlepage/p/12857991.html
Copyright © 2011-2022 走看看