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

Giá sách (Dễ)

Đề bài

Mô tả

Bác John có N quyển sách và muốn đóng một bộ kệ để chứa hết chúng. Quyển sách thứ i có chiều cao Hi và chiều rộng Wi.

Sách phải được xếp lên các kệ theo đúng thứ tự đã cho: kệ đầu tiên chứa các quyển 1k với k nào đó, kệ thứ hai bắt đầu từ quyển k+1, và cứ thế tiếp tục. Tổng chiều rộng của các quyển trên một kệ không được vượt quá L.

Chiều cao của một kệ bằng chiều cao của quyển sách cao nhất nằm trên kệ đó. Các kệ được xếp chồng lên nhau nên chiều cao của cả bộ kệ bằng tổng chiều cao của tất cả các kệ.

Hãy tính chiều cao nhỏ nhất có thể của cả bộ kệ.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên NL.
  • N dòng tiếp theo, dòng thứ i chứa hai số nguyên HiWi.

Dữ liệu ra

In ra một số nguyên duy nhất: chiều cao nhỏ nhất của cả bộ kệ.

Ràng buộc

  • 1N2000
  • 1L109
  • 1Hi106
  • 1WiL

Ví dụ

Input Output Giải thích
5 10
5 7
9 2
8 5
13 2
3 8
21 Dùng ba kệ: kệ đầu chỉ chứa quyển 1 (cao 5, rộng 7), kệ thứ hai chứa các quyển 24 (rộng 9, cao nhất là 13), kệ cuối chứa quyển 5 (cao 3, rộng 8). Tổng chiều cao là 5+13+3=21.
3 4
2 2
6 1
6 2
8 Nếu tham xếp nhiều nhất có thể lên kệ đầu thì được quyển 12 (rộng 3, cao 6), quyển 3 phải nằm riêng, tổng là 12. Cách tối ưu là để quyển 1 một mình (cao 2) rồi xếp quyển 23 chung một kệ (rộng 3, cao 6), tổng là 8.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0