NC16640 紀念品分組 經典貪心

2021-10-06 04:01:49 字數 1354 閱讀 8796

元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得 的紀念品價值相對均衡,他要把購來的紀念品根據**進行分組,但每組最多只能包括兩件紀念品, 並且每組紀念品的**之和不能超過乙個給定的整數。為了保證在盡量短的時間內發完所有紀念品,樂樂希望分組的數目最少。

你的任務是寫乙個程式,找出所有分組方案中分組數最少的一種,輸出最少的分組數目。

輸入描述:

第 1 行包括乙個整數 w,為每組紀念品**之和的上限。

第 2 行為乙個整數n,表示購來的紀念品的總件數。

第 3 ~ n+2 行每行包含乙個正整數 pi ( 5 ≤ pi ≤ w ) ,表示所對應紀念品的**。

輸出描述:

包含乙個整數,即最少的分組數目。

示例1輸入

複製100990

2020

3050

6070

8090

輸出複製

給定n個物品,重量w[i

]w[i]

w[i]

,每個箱子能裝m

mm重量的物品,切每個箱子最多裝2件物品,

求最少的箱子數量

經典貪心,

排個序,最重的和最輕的嘗試放到同乙個箱子裡

#define debug

#ifdef debug

#include

#include

"/home/majiao/mb.h"

#endif

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define maxn (1048576+7)

#define ll long long int

#define qaq (0)

using

namespace std;

int n, m;

int a[maxn]

;int

main()

else

ans ++;}

printf

("%d\n"

, ans)

;#ifdef debug

clock_t etime =

clock()

;printf

("rum time: %lf 秒\n",(

double

)(etime-stime)

/clocks_per_sec)

;#endif

return0;

}

紀念品分組

問題描述 元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得的紀念品價值 相對均衡,他要把購來的紀念品根據 進行分組,但每組最多只能包括兩件紀念品,並且每組紀念品的 之和不能超過乙個給定的整數。為了保證在盡量短的時 間內發完所有紀念品,樂樂希望分組的數目最少。你的任務...

紀念品分組

time limit 1 sec memory limit 128 mb submit 4 solved 2 submit status web board 元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得 的紀念品價值相對均衡,他要把購來的紀念品根據 進行分組,但...

紀念品分組

題目描述 元旦快到了,校學生會讓樂樂負責新年晚會的紀念品發放工作。為使得參加晚會的同學所獲得 的紀念品價值相對均衡,他要把購來的紀念品根據 進行分組,但每組最多只能包括兩件紀念品,並且每組紀念品的 之和不能超過乙個給定的整數。為了保證在盡量短的時間內發完所有紀念品,樂樂希望分組的數目最少。你的任務是...