PAT A1113 Integer Set Partition (25 分)——排序题

Given a set of N (>1) positive integers, you are supposed to partition them into two disjoint sets A?1?? and A?2?? of n?1?? and n?2?? numbers, respectively. Let S?1?? and S?2?? denote the sums of all the numbers in A?1?? and A?2??, respectively. You are supposed to make the partition so that ∣n?1??−n?2??∣ is minimized first, and then ∣S?1??−S?2??∣ is maximized.

Input Specification:

Each input file contains one test case. For each case, the first line gives an integer N (2≤N≤10?5??), 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 2?31??.

Output Specification:

For each case, print in a line two numbers: ∣n?1??−n?2??∣ and ∣S?1??−S?2??∣, 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

 1 #include <stdio.h>
 2 #include <algorithm>
 3 using namespace std;
 4 const int maxn=100010;
 5 int seq[maxn];
 6 int total[maxn];
 7 int main(){
 8   int n;
 9   int sum=0;
10   scanf("%d",&n);
11   for(int i=0;i<n;i++){
12     scanf("%d",&seq[i]);
13   }
14   sort(seq,seq+n);
15   for(int i=0;i<n;i++){
16     sum+=seq[i];
17     total[i]=sum;
18   }
19   printf("%d %d",n%2,total[n-1]-2*total[n/2-1]);
20 }

注意点:计算差的时候由于总和算了前面部分,要多减一次前半部分。感觉直接算和然后相减也不会超时

原文地址:https://www.cnblogs.com/tccbj/p/10438206.html

时间: 2024-10-28 09:34:04

PAT A1113 Integer Set Partition (25 分)——排序题的相关文章

1113 Integer Set Partition (25 分)

1113 Integer Set Partition (25 分) Given a set of N (>) positive integers, you are supposed to partition them into two disjoint sets A?1?? and A?2?? of n?1?? and n?2?? numbers, respectively. Let S?1?? and S?2?? denote the sums of all the numbers in A?

A1113 | Integer Set Partition (25)

太简单了 #include <stdio.h> #include <memory.h> #include <math.h> #include <string> #include <vector> #include <set> #include <stack> #include <queue> #include <algorithm> #include <map> #define I sc

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(i

PAT 甲级 1028 List Sorting (25 分)(排序,简单题)

1028 List Sorting (25 分)   Excel can sort records according to any column. Now you are supposed to imitate this function. Input Specification: Each input file contains one test case. For each case, the first line contains two integers N (≤) and C, wh

PAT 甲级 1016 Phone Bills (25 分) (结构体排序,模拟题,巧妙算时间,坑点太多,debug了好久)

1016 Phone Bills (25 分)   A long-distance telephone company charges its customers by the following rules: Making a long-distance call costs a certain amount per minute, depending on the time of day when the call is made. When a customer starts connec

PAT 甲级 1105 Spiral Matrix (25分)(螺旋矩阵,简单模拟)

1105 Spiral Matrix (25分) This time your job is to fill a sequence of N positive integers into a spiral matrix in non-increasing order. A spiral matrix is filled in from the first element at the upper-left corner, then move in a clockwise spiral. The

PAT 甲级 1024 Palindromic Number (25 分)(大数加法,考虑这个数一开始是不是回文串)

1024 Palindromic Number (25 分) A number that will be the same when it is written forwards or backwards is known as a Palindromic Number. For example, 1234321 is a palindromic number. All single digit numbers are palindromic numbers. Non-palindromic n

PAT 1036 Boys vs Girls (25 分)

1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of all the male students and the highest grade of all the female students. Input Specification: Each input file contains one test case. Each case contai

PAT 甲级 1063 Set Similarity (25 分) (新学,set的使用,printf 输出%,要%%)

1063 Set Similarity (25 分)   Given two sets of integers, the similarity of the sets is defined to be /, where N?c?? is the number of distinct common numbers shared by the two sets, and N?t?? is the total number of distinct numbers in the two sets. Yo