HUNTER×HUNTER#10896

HUNTER×HUNTER

1,7 секунди
256 мегабайта
Много трудно

В първия арк на популярната манга Hunter x Hunter протагонистът Гон и неговите приятели участват в Изпита за ловци. В четвъртата му фаза всеки от -те участници получава бадж с уникален номер от до N - 1. Също така в една купа са сложени листчета с уникални номера отново от до N - 1. Всеки участник тегли листче от купата (и не го връща); листчето, което изтегли, показва номерът T_i на мишената му. Знае се, че никой не е изтеглил своя собствен номер, т.е. T_i \neq i за всяко .

След това кандидат-ловците биват оставени на остров Зевил за една седмица; там те могат да крадат баджовете си един от друг. В края на седмицата четвъртата фаза на изпита приключва и се гледа кой кои баджове има. Резултатът на даден участник е сумата от точките, които баджовете, с които е завършил, му носят. Баджовете с номера и T_i биха му донесли по точки, а всички останали баджове — по точка. Участниците с поне точки преминават фазата успешно, а другите отпадат.

Очевидно няма как всички да преминат към следващата фаза. Чудите се какъв е възможно най-добрият край, вземайки предвид, че сте привързани към някои герои повече от колкото към други. По-конкретно към участник Вие изпитвате L_i привързаност (в някакви мерни единици). Искате да знаете каква е максималната възможна стойност на сумата на всички L_m, където са номерата на участниците, които успешно са събрали поне точки.

Проблемът е, че има много участници и съответно много възможни комбинации, та Ви е доста трудно да откриете най-добрата на ръка. За Ваше щастие живеете в 21 век и пред Вас има модерен компютър. Затова е най-добре да напишете програма hunterxhunter, която по описаните по-горе данни да открива максималната възможна стойност на зададената сума.

Входни данни

На първия ред на стандартния вход се въвеждат две цели положителни числа: и — броят участници и броят точки, които баджът на даден играч, както и баджът на мишената му, биха му донесли. На всеки от следващите реда се въвеждат по две цели неотрицателни числа: T_i и L_i — номерът на мишената на участник , както и колко привързаност изпитвате към участника.

Изходни данни

На единствения ред на стандартния изход изведете едно цяло неотрицателно число: максималната възможна обща привързаност, която изпитвате към участниците, които са събрали поне точки.

Примери

Пример 1

Loading
Loading

Пример 2

Loading
Loading

Бележка

Обяснение на примерен тест 1

В тест 1 успешните участници са 1, 4 и 6. Например, участник 1 завършва с баджове 1 и 6, участник 4 — с баджове 0, 4 и 7, а участник 6 — с баджове 2, 3 и 5. Сумата е L_1 + L_4 + L_6 = 111 + 105 + 108 = 324.

Точкуване

За да получите точките за дадена подзадача, трябва програмата Ви да премине всички тестове в нея.

Ограничения:

2 \leq N \leq 10^4
1 \leq K \leq N/2
0 \leq L_i \leq 2 \times 10^4
0 \leq T_i < N
T_i \neq i
T_i \neq T_j \text{ ако } i \neq j

Подзадачите са както следва:

Подзадача

Точки

Допълнителни ограничения

1

10

10

Няма

2

15

700

T_{P_j} = P_{(j+1) \bmod N} и L_{P_{N-1}} = 0

3

15

10^4

T_{P_j} = P_{(j+1) \bmod N} и L_{P_{N-1}} = 0

4

10

700

T_{P_j} = P_{(j+1) \bmod N}

5

10

10^4

T_{P_j} = P_{(j+1) \bmod N}

6

20

700

Няма

7

20

10^4

Няма

Тук е произволна пермутация на числата от до N - 1, където P_0 = 0.