trang chủ / bài tập / coffework

Cà phê và tiểu luận

Đề bài

Mô tả

Bạn phải viết một tiểu luận gồm m trang. Bạn có n cốc cà phê, cốc thứ i chứa ai đơn vị caffeine. Mỗi cốc chỉ uống được nhiều nhất một lần, uống trọn vẹn và tức thì (không chia một cốc ra nhiều ngày).

Tiểu luận được viết trong nhiều ngày. Trong một ngày nào đó, giả sử bạn uống k cốc với lượng caffeine lần lượt là ai1,ai2,,aik (theo thứ tự uống trong ngày đó). Khi đó:

  • cốc thứ nhất cho bạn năng lượng viết ai1 trang,
  • cốc thứ hai cho max(0,ai21) trang,
  • cốc thứ ba cho max(0,ai32) trang,
  • ...,
  • cốc thứ k cho max(0,aikk+1) trang.

Nếu một ngày bạn không uống cốc cà phê nào thì ngày đó bạn không viết được trang nào.

Bạn muốn hoàn thành tiểu luận càng nhanh càng tốt (dùng ít ngày nhất). Hãy tìm số ngày nhỏ nhất cần thiết để viết đủ ít nhất m trang, hoặc cho biết điều đó là không thể.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số cốc cà phê và số trang của tiểu luận.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an: lượng caffeine của từng cốc.

Dữ liệu ra

In ra một số nguyên là số ngày nhỏ nhất cần thiết, hoặc 1 nếu không thể hoàn thành tiểu luận.

Ràng buộc

  • 1n2·105
  • 1m109
  • 1ai109

Ví dụ

Input Output Giải thích
5 8
2 3 1 1 2
4 Ngày 1 uống cốc thứ tư (viết 1 trang), ngày 2 uống cốc thứ nhất và thứ hai (viết 2+(31)=4 trang), ngày 3 uống cốc thứ năm (viết 2 trang), ngày 4 uống cốc thứ ba (viết 1 trang). Tổng đủ 8 trang trong 4 ngày, và không thể ít hơn.
7 10
1 3 4 2 1 4 2
2 Ngày 1 uống ba cốc lượng 4, 2, 3 (viết 4+(21)+(32)=6 trang), ngày 2 uống một cốc lượng 4 (viết 4 trang). Tổng 10 trang trong 2 ngày.
5 15
5 5 5 5 5
1 Uống cả 5 cốc trong một ngày: 5+4+3+2+1=15 trang.
5 26
5 5 5 5 5
-1 Tổng năng lượng tối đa mỗi cốc một ngày là 5×5=25<26, không thể đạt.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0