caioj 1682 貪心 買一送一

2022-05-09 16:30:38 字數 1298 閱讀 8357

【題意】

ch最近在網上發現乾草買一送一的一筆交易,他每買一捆尺寸為a的乾草,就可以免費獲贈一捆尺寸為 b (1 ≤ b < a)的乾草,注意b < a。

然而,這個買賣是有限制的:需要花錢的乾草都是高質量的,而免費贈送的都是次品。然而節儉的ch並不在意質量:為了省錢他會買任意質量的乾草。

給出n捆高質量的乾草,以及m捆次品乾草,找出ch最多可以買到多少捆乾草。他可以單獨買高質量的乾草而沒有獲贈免費的次品乾草;但是他不能單獨買次品乾草。

【輸入描述】

第1行: 兩個用空格隔開的整數:n和m。

第2行到第n+1行:每行乙個整數,表示一捆高質量乾草的尺寸。

第n+2行到第n+m+1行:每行乙個整數,表示一捆次品乾草的尺寸。

【輸出描述】

唯一一行:乙個整數,表示ch可以買到乾草的最大捆數。

【樣例輸入】

3 4613

1534

【樣例輸出】

5【提示】

樣例說明:

共有3捆高質量的乾草,尺寸分別是6,1,和3; 共有4捆次品乾草,尺寸分別是1,5,3,和4。

顯然,fj可以買到所有高質量的乾草。當他買尺寸為6的高質量乾草時,他可以獲贈尺寸為3的次品。當他買尺寸為3的高質量乾草時,他可以獲贈尺寸為1的次品。然而,當他買質量為1的高質量乾草時,無論如何,他都不可能再獲贈次品乾草。所以答案就是3+2=5。

1 ≤ a ≤ 1,000,000

1 ≤ n ≤ 10,000

1 ≤ m ≤ 10,000

題解:這道題十分水,首先高階稻草我們可以全部買齊,每個低階稻草都要配對乙個離它最近且比他大的稻草才不會浪費,最後加上能派對上高階稻草的低階稻草的個數

**(建議自己打):

#include

#include

#include

usingnamespacestd;

inta[21000],b[21000],n,m;

intmain()

printf("%d\n",n+n-ni);

return0;

}

caioj 1040 搜尋初步

因為按字典序排序 且頭尾相接 可理解成是乙個圈 所以第一位一定是1 prim 判斷素數的函式裡可以加上記憶化 因為函式裡i i x寫成了n debug了很久 邊寫邊輸出除錯比較好 可以定義debug函式 霧 以及 什麼時候要寫一下線性篩呀 includeusing namespace std tem...

NYOJ 房間安排168

房間安排 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述2010年上海世界博覽會 expo2010 是第41屆世界博覽會。於2010年5月1日至10月31日期間,在中國上海市舉行。本次世博會也是由中國舉辦的首屆世界博覽會。上海世博會以 城市,讓生活更美好 better cit...

NYOJ 房間安排 168

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 2010年上海世界博覽會 expo2010 是第41屆世界博覽會。於2010年5月1日至10月31日期間,在中國上海市舉行。本次世博會也是由中國舉辦的首屆世界博覽會。上海世博會以 城市,讓生活更美好 better city,be...