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

Kệ sách của Shaass

Đề bài

Mô tả

Bạn có n cuốn sách. Cuốn sách thứ i có độ dày ti và bề rộng trang wi. Độ dày của mỗi cuốn chỉ có thể là 1 hoặc 2. Tất cả các cuốn sách có cùng chiều cao trang.

Bạn xếp sách lên kệ theo cách sau: chọn ra một số cuốn và đặt chúng thẳng đứng, các cuốn còn lại đặt nằm ngang phía trên những cuốn đứng. Điều kiện là tổng bề rộng của các cuốn nằm ngang không được vượt quá tổng độ dày của các cuốn đứng.

Hãy tìm tổng độ dày nhỏ nhất của các cuốn sách đặt thẳng đứng.

Dữ liệu vào

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

Dữ liệu ra

Một số nguyên duy nhất: tổng độ dày nhỏ nhất của các cuốn sách đặt thẳng đứng.

Ràng buộc

  • 1n100
  • 1ti2
  • 1wi100

Ví dụ

Input Output Giải thích
5
1 12
1 3
2 15
2 5
2 1
5 Đặt đứng các cuốn 1,3,4 với tổng độ dày 1+2+2=5. Các cuốn còn lại là 25, tổng bề rộng 3+1=45. Không thể đạt tổng độ dày 4 hay nhỏ hơn.
3
1 10
2 1
2 4
3 Đặt đứng các cuốn 1,3 với tổng độ dày 1+2=3; cuốn 2 nằm ngang có bề rộng 13. Lưu ý cách chọn cuốn 1,2 cũng có tổng độ dày 3 nhưng không hợp lệ vì cuốn 3 nằm ngang có bề rộng 4>3.
3
2 5
2 5
2 5
6 Nếu đặt đứng hai cuốn thì tổng độ dày là 4, trong khi cuốn nằm ngang còn lại có bề rộng 5>4. Vì vậy phải đặt đứng cả ba cuốn, tổng độ dày 6.

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