Asosiy qismga o‘tish
Sharof Rashidov nomida Samarqand davlat universiteti 2-son akademik litseyida Rated Contest #1
Yakka tartibda · Reytingli — natija reytingga ta’sir qiladi · Qisman ball: o‘tgan testlar bo‘yicha
Tugagan

D. Qayiqlar

150 ball

Litsey o‘quvchilari sayohatga chiqishdi va daryodan qayiqlarda o‘tishlari kerak. Jami N nafar o‘quvchi bor, i-o‘quvchining vazni wᵢ kilogramm.

Har bir qayiqqa ko‘pi bilan 2 kishi o‘tiradi, o‘tirganlarning umumiy vazni esa qayiq sig‘imi C dan oshmasligi kerak. Barcha qayiqlar bir xil. Har bir o‘quvchining vazni C dan oshmaydi, ya’ni har kim kamida yolg‘iz o‘zi o‘ta oladi.

Qayiqlar
Qayiqlar

Hamma o‘quvchini daryodan o‘tkazish uchun eng kamida nechta qayiq kerak?

Kirish ma’lumotlari

Birinchi qatorda ikkita butun son: N — o‘quvchilar soni va C — qayiq sig‘imi.

Ikkinchi qatorda probel bilan ajratilgan N ta butun son: w₁, w₂, …, wₙ.

Chiqish ma’lumotlari

Bitta butun son — eng kam qayiqlar soni.

Cheklovlar

1 ≤ N ≤ 10^5

1 ≤ wᵢ ≤ C ≤ 10^9

Misollar

Kirish
5 100
50 80 30 70 20
Chiqish
3
Kirish
3 10
10 10 10
Chiqish
3

Tushuntirish

1-misol rasmda ko‘rsatilgan: (80, 20), (70, 30) va (50) — 3 ta qayiq. Kamroq qayiq bilan bo‘lmaydi: 50, 70 va 80 kg li o‘quvchilarning hech qaysi ikkitasi bir qayiqqa sig‘maydi.

2-misolda har bir o‘quvchi qayiqni to‘liq egallaydi.

Diqqat: ikki vaznning yig‘indisi 2 · 10^9 gacha yetadi — C++ va Java da int turi to‘lib ketishi mumkin.

Qoralama doskasi
Kod yozish
Kod yuborish 20 ta test
Yechim yuborish uchun tizimga kiring.