Bộ bài có n lá: lá thưởng có sức mạnh > 0, lá anh hùng có sức mạnh 0. Rút lần lượt từ trên: lá thưởng có thể đặt lên chồng thưởng hoặc bỏ đi; lá anh hùng nhận sức mạnh của lá trên cùng chồng thưởng (lá đó bị bỏ) rồi vào quân đội. Tìm tổng sức mạnh quân đội lớn nhất (n ≤ 5000).
Test mẫu & giải thích
5 5 3 3 3 0 0 6 0 3 3 0 0 3 7 1 2 3 0 4 5 0 7 1 2 5 0 4 3 0 5 3 1 0 0 4
6 6 8 9 4
Test 1
Ở test đầu n=5, dãy 3 3 3 0 0: ba lá thưởng đầu đều được giữ lại trên chồng (không lá nào cần bỏ) tạo chồng gồm ba lá giá trị 3; hai lá anh hùng liên tiếp sau đó lần lượt lấy lá trên cùng của chồng theo nguyên tắc ngăn xếp (LIFO), mỗi lần nhận đúng 3, tổng sức mạnh đạt 3+3=6, khớp đáp án.
Test 2
Ở test thứ hai, dãy 0 3 3 0 0 3: lá anh hùng đầu tiên gặp chồng rỗng nên nhận 0; hai lá thưởng giá trị 3 tiếp theo được giữ lại tạo chồng [3,3]; hai lá anh hùng kế tiếp lần lượt lấy đỉnh chồng, mỗi lần được 3, cộng dồn 0+3+3=6 (lá thưởng 3 cuối cùng không còn anh hùng nào để dùng nên bị bỏ phí), khớp đáp án 6.