死亡拆分II

2021-08-15 15:41:56 字數 954 閱讀 6033

problem description

給定乙個由整數組成的集合,集合中的整數各不相同,現在要將它分為兩個子集合,使得這兩個子集合的並為原集合、交為空集,同時在兩個子集合的元素個數n1與n2之差的絕對值|n1-n2|盡可能小的前提下,要求它們各自的元素之和s1與s2之差的絕對值|s1-s2|盡可能大。

input

每個輸入檔案中一組資料。

第一行乙個正整數n(1<=n<=10000000),表示集合中的整數個數。第二行是用空格隔開的n個絕對值在6666666以內的整數。

output

用空格隔開的兩個整數,即所求的|n1-n2|與|s1-s2|。

sample input

5 4 2 1 3 5

sample output

1 9author

shoutmon

source

16浙大考研機試模擬賽

方法一:nth_element()

#include 

#include

#include

using

namespace

std;

int main()

方法二:partition()

#include 

#include

using

namespace

std;

int a[10000000+1],n;

void partition(int a,int l,int r,int k)

int main()

27733 死亡拆分I

給定乙個由整數組成的集合,集合中的整數各不相同,現在要將它分為兩個子集合,使得這兩個子集合的並為原集合 交為空集,同時在兩個子集合的元素個數n1與n2之差的絕對值 n1 n2 盡可能小的前提下,要求它們各自的元素之和s1與s2之差的絕對值 s1 s2 盡可能大。每個輸入檔案中一組資料。第一行乙個正整...

單詞拆分II

已知 給一字串s和單詞的字典dict,在字串中增加空格來構建乙個句子,並且所有單詞都來自字典。返回所有有可能的句子。示例 給一字串lintcode,字典為 de ding co code lint 則結果為 lint code lint co de 思路 用動態規劃的思路,這道題目按照遞迴是很容易解...

單詞拆分 II

單詞拆分 ii 給定乙個非空字串 s 和乙個包含非空單詞列表的字典 worddict,在字串中增加空格來構建乙個句子,使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。說明 分隔時可以重複使用字典中的單詞。你可以假設字典中沒有重複的單詞。示例 1 輸入 s catsanddog worddic...