Ciel và Trận đấu bài
Đề bài
Mô tả
Ciel đang chơi một trò chơi bài với đối thủ Jiro.
Jiro có lá bài, mỗi lá có một vị trí (Tấn công hoặc Phòng thủ) và một sức mạnh. Ciel có lá bài, tất cả các lá của Ciel đều ở vị trí Tấn công.
Đến lượt tấn công của Ciel. Ciel có thể thực hiện thao tác sau nhiều lần:
- Chọn một lá bài của mình chưa được dùng trước đó.
- Nếu lúc đó Jiro không còn lá bài nào sống, Jiro nhận sát thương bằng sức mạnh của . Ngược lại, Ciel phải chọn một lá bài còn sống của Jiro, khi đó:
- Nếu ở vị trí Tấn công, cần thoả mãn (sức mạnh ) (sức mạnh ). Sau đòn này, lá chết và Jiro nhận sát thương bằng (sức mạnh ) (sức mạnh ).
- Nếu ở vị trí Phòng thủ, cần thoả mãn (sức mạnh ) (sức mạnh ). Sau đòn này, lá chết nhưng Jiro không nhận sát thương.
Ciel có thể kết thúc lượt tấn công bất cứ lúc nào (tức là không bắt buộc phải dùng hết các lá bài).
Hãy tính tổng sát thương lớn nhất mà Jiro có thể phải nhận.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và — số lá bài của Jiro và của Ciel.
- dòng tiếp theo, mỗi dòng chứa một xâu vị trí và một số nguyên sức mạnh. Vị trí là xâu "ATK" (Tấn công) hoặc "DEF" (Phòng thủ).
- dòng tiếp theo, mỗi dòng chứa một số nguyên — sức mạnh của một lá bài của Ciel.
Dữ liệu ra
- Một số nguyên: tổng sát thương lớn nhất mà Jiro có thể nhận.
Ràng buộc
- sức mạnh
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 ATK 2000 DEF 1700 2500 2500 2500 |
3000 | Dùng một lá 2500 đánh "ATK 2000" (sát thương ), một lá 2500 phá "DEF 1700" (không gây sát thương). Giờ Jiro hết bài nên lá 2500 cuối gây thẳng 2500. Tổng . |
| 3 4 ATK 10 ATK 100 ATK 1000 1 11 101 1001 |
992 | Dùng lá 1001 đánh "ATK 100" và lá 101 đánh "ATK 10", rồi dừng lại. Tổng . |
| 2 4 DEF 0 ATK 0 0 0 1 1 |
1 | Có thể phá "ATK 0" bằng lá sức mạnh 0 (vì ), nhưng không thể phá "DEF 0" bằng lá đó (cần ). |
Bình luận