裝木塊問題

2021-04-18 14:08:39 字數 981 閱讀 3969

description

有一種很特別裝箱子,箱子的所有長度都是l,還有n根木塊,所有木塊的長度都小於等於l,箱子可以裝木塊,但是有如下限制: 1.每個箱子只能裝一根或兩根木塊。 2.如果裝兩根必須使得這兩根木塊的長度之和小於等於箱子的長度l。 你的任務是求出最少需要多少個這樣的箱子才能裝下所有的木塊。

input

第一行乙個n,表示有n根木塊。(1<=n<=105) 第二行乙個l,表示箱子的長度。l<=10000 接下來n行,每行乙個正整數,表示木塊的長度。

output

只有一行,最少需要的箱子數。

sample input

10

8070

1530

3510

8020

3510

30

sample output

6

key:不是什麼難題……但是wa好幾次……居然是陣列開小了……丟人啊……
#include#includeusing namespace std;

int a[100001];

int n;

int l;

int max;

void input()

void countmax()

if(a[j]+a[i]<=l)

else

} }}

int main()

{// freopen("fjnu_1992.in","r",stdin);

while(cin>>n)

{ cin>>l;

input();

sort(a+1,a+n+1);

countmax();

cout<

1992 裝木塊問題

裝木塊問題 time limit 1 seconds memory limit 32768 k total submit 79 accepted 7 description 有一種很特別裝箱子,箱子的所有長度都是l,還有n根木塊,所有木塊的長度都小於等於l,箱子可以裝木塊,但是有如下限制 1.每個箱...

UVA 木塊問題 101

uva 木塊問題 101,好開森好開森。雖然花了很長時間,不過能一次就ac也是蠻開心的,用c 寫效率就是不錯 疊木塊其實是乙個二維空間,每個木塊都有縱橫座標 include include includeusing namespace std block用於記錄木塊所在位置,x是位於哪一疊木塊,y是...

題目 鏈條問題 切木塊

problem 假定一段長度為i的鋼條的 為pi i 1,2,如下 長度i1 2 3 4 5 6 7 8 9 10 pi 5 8 10 請問,給定一段長度為n的鋼條和乙個 表pi 如何切割,收益最大?include include using namespace std int price coun...