R25_PHOA
Trên mặt đất có một dãy gồm \(N\) vị trí, mỗi vị trí là nơi đặt một chất phản ứng có chỉ số hóa trị từ 1 đến \(K\). Tuy nhiên, một số vị trí vẫn bị bỏ trống, để người chơi tùy ý lựa chọn chất phản ứng phù hợp.
Người chơi có thể gắn bất kỳ chất nào từ 1 đến \(K\) vào các vị trí trống. Mỗi vị trí được gán độc lập, không giới hạn số lần sử dụng mỗi loại chất.
Sau khi hoàn tất việc sắp xếp, gió sẽ thổi mạnh từ phải sang trái. Nếu tồn tại hai vị trí \(i<j\) mà chất tại \(j\) có chỉ số lớn hơn chất tại \(i\), thì sẽ xảy ra một màn pháo hoa ảo thể hiện phản ứng vượt trội của chất mới thổi sang. Dĩ nhiên sau khi phản ứng thì không có chất nào mất đi, chất được thổi sẽ tiếp tục di chuyển đến vị trí chất tiếp theo.
Mục tiêu là tìm cách gán giá trị cho các vị trí trống sao cho tổng số màn pháo hoa ảo là nhiều nhất có thể. Ban tổ chức đã tính toán mọi trường hợp và cho biết tất cả các chất đều an toàn cho dù được kết hợp với nhau như nào.
Dữ liệu:
Dòng đầu bao gồm 2 số nguyên dương \(N, K (1≤N≤2*10^5;1≤K≤100).\)
Dòng thứ hai bao gồm \(N\) số nguyên không âm, các số có giá trị trong đoạn \([0,K]\) biết rằng với các số có giá trị là \(0\) nghĩa là được bỏ trống còn lại là hóa trị của chất đặt tại vị trí đó.
Kết quả:
- Một số nguyên không âm duy nhất là số lượng màn pháo hoa ảo nhiều nhất có thể.
Ràng buộc:
Subtask 1 (05% test): \(N≤1000\) Tất cả các vị trí đều đã được điền
Subtask 2 (10% test): Tất cả các vị trí đều đã được điền
Subtask 3 (15% test):\( N≤10\) và \(1≤K≤4\)
Subtask 4 (15% test): \(N≤10, K≤10\) và có không quá 5 vị trí chưa được điền
Subtask 5 (25% test): \(K≤2\)
Subtask 6 (05% test): \(K≤3\)
Subtask 7 (15% test): \(N≤1000\)
Subtask 8 (10% test): Không giới hạn gì thêm
Sample Input
5 5
0 0 0 0 0
Sample Output
10
Sample Input
3 2
1 0 2
Sample Output
0
Sample Input
10 3
0 2 2 0 0 0 2 0 0 2
Sample Output
25
Comments