Một trò chơi truyền hình được ưa thích gần đây như sau: Có 𝑛 cửa cần vượt qua, tại mỗi cửa người chơi sẽ nhận được (hoặc mất) một số tiền tương ứng với số tiền ở cửa đó. Tuy nhiên người chơi có thể trả 𝑘 × 𝑇 đồng để bỏ qua 𝑘 cửa. Để vượt qua 𝑛 cửa này người chơi phải bắt đầu từ cửa thứ nhất và luôn kết thúc tại cửa thứ 𝑛 mà trên đường đi của mình không khi nào bị “âm” tiền. Ban đầu người chơi "rỗng túi" (có 0 đồng tiền).
Yêu cầu: Bạn hãy kiểm tra xem với một hệ thống các cửa cho trước thì người chơi có thể vượt qua 𝑛 cửa hay không và nếu có thể thì phải mất ít nhất bao nhiêu bước.
Input
- Dòng 1: là số 𝑛, 𝑇;
- Dòng 2: gồm 𝑛 số nguyên, số thứ 𝑖 là 𝑎𝑖 nghĩa là tại cửa thứ i người chơi sẽ nhận được 𝑎𝑖 tiền.
Output
- Số bước nhỏ nhất nếu có thể qua được và -1 nếu không có cách qua.
Ràng buộc:
Subtask 1: 𝑛 ≤ 20; |𝑎𝑖| ≤ 100;
Subtask 2: 𝑛 ≤ 100; |𝑎𝑖 | ≤ 100;
Subtask 3: 𝑛 ≤ 100; |𝑎𝑖 | ≤ 109 ;
Subtask 4: 𝑛 ≤? ? ? ; |𝑎𝑖 | ≤ 109 ;
Nguồn: 3D 20162017