給定乙個由整數組成的集合,集合中的整數各不相同,現在要將它分為兩個子集合,使得這兩個子集合的並為原集合、交為空集,同時在兩個子集合的元素個數n1與n2之差的絕對值|n1-n2|盡可能小的前提下,要求它們各自的元素之和s1與s2之差的絕對值|s1-s2|盡可能大。
每個輸入檔案中一組資料。
第一行乙個正整數n(1<=n<=1000),表示集合中的整數個數。第二行是用空格隔開的n個在2*10^7以內的正整數。
用空格隔開的兩個整數,即所求的|n1-n2|與|s1-s2|。
54 2 1 3 5
1 9shoutmon
水題。。排序即可。
#include#includeusing namespace std;
int n;
int a[1001];
int main()
sort(a,a+n);
for(int i=0;i<=n/2-1;i++)
for(int i=n/2;i
死亡拆分II
problem description 給定乙個由整數組成的集合,集合中的整數各不相同,現在要將它分為兩個子集合,使得這兩個子集合的並為原集合 交為空集,同時在兩個子集合的元素個數n1與n2之差的絕對值 n1 n2 盡可能小的前提下,要求它們各自的元素之和s1與s2之差的絕對值 s1 s2 盡可能大...
Lint Code 單詞拆分 I
s lintcode dict lint code 返回 true 因為 lintcode 可以被空格切分成 lint code 首先定義 dp i 到字串s的第i個位置都可以匹配。子問題為 dp i dp i len 即如果前i len可以正確匹配,後面i len 1到i的字串又在字典dict中,...
LeetCode 陣列拆分I
給定長度為 2n 的陣列,你的任務是將這些數分成 n 對,例如 a1,b1 a2,b2 an,bn 使得從1 到 n 的 min ai,bi 總和最大。示例 1 輸入 1,4,3,2 輸出 4 解釋 n 等於 2,最大總和為 4 min 1,2 min 3,4 n 是正整數,範圍在 1,10000 ...