27733 死亡拆分I

2021-07-10 09:53:25 字數 492 閱讀 1596

給定乙個由整數組成的集合,集合中的整數各不相同,現在要將它分為兩個子集合,使得這兩個子集合的並為原集合、交為空集,同時在兩個子集合的元素個數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 ...