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

Mua bộ bài

Đề bài

Mô tả

Bạn muốn mua trọn bộ n lá bài trong cửa hàng. Mỗi lá bài có một màu, đỏ hoặc xanh, và có giá được tính theo hai loại tài nguyên.

Trò chơi diễn ra theo lượt. Ở mỗi lượt bạn chọn đúng một trong hai hành động:

  • Thu thập token: nhận 1 token đỏ và 1 token xanh.
  • Mua một lá bài chưa mua trước đó.

Lá bài thứ i yêu cầu ri tài nguyên đỏ và bi tài nguyên xanh. Giả sử ngay trước khi mua lá bài này bạn đang sở hữu A lá bài đỏ và B lá bài xanh, khi đó bạn phải trả max(riA,0) token đỏ và max(biB,0) token xanh.

Token đã trả sẽ mất đi, còn những lá bài đã mua thì bạn giữ vĩnh viễn và chúng tiếp tục làm giảm giá cho các lá bài mua sau. Mỗi lá bài chỉ được mua đúng một lần.

Hãy tìm số lượt ít nhất để mua hết cả n lá bài.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số lá bài.
  • n dòng tiếp theo, dòng thứ i chứa một ký tự ci và hai số nguyên ri, bi. Ký tự ciR nếu lá bài màu đỏ và B nếu lá bài màu xanh.

Dữ liệu ra

Một số nguyên duy nhất là số lượt ít nhất cần thiết để mua hết tất cả các lá bài.

Ràng buộc

  • 1n16
  • ci{R, B}
  • 0ri,bi107

Ví dụ

Input Output Giải thích
3
R 0 1
B 1 0
R 1 1
4 Thu thập token (có 1 đỏ, 1 xanh), mua lá 1 (trả 0 đỏ và 1 xanh), mua lá 2 (đã có 1 lá đỏ nên không tốn gì), mua lá 3 (đã có 1 lá đỏ và 1 lá xanh nên miễn phí). Tổng cộng 4 lượt.
3
R 3 0
R 2 0
R 1 0
6 Thu thập 2 lần rồi mua lá 2 (trả 2 token đỏ), thu thập 1 lần nữa rồi mua lá 3 (đã có 1 lá đỏ nên miễn phí), cuối cùng mua lá 1 (đã có 2 lá đỏ nên chỉ trả 1 token đỏ). Tổng cộng 6 lượ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.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