Praca
시간 제한2초메모리 제한2048 MB
최대 k번의 회의를 거르면서 사무실을 한 번만 왕복할 때 확보할 수 있는 최대 자유 시간을 구한다.
문제
Potyczki Algorytmiczne wystartowały! Niestety, Bajtazar nie może zaniedbywać swojej pracy, a jego obowiązki magicznie nie znikają na czas potyczkowego tygodnia. Dzień Bajtazara możemy przedstawić jako segmentów, każdy trwający jedną bajtogodzinę. Obowiązki podczas każdego z tych segmentów należą do jednej z trzech kategorii:
- spotkanie w biurze,
- zdalne spotkanie,
- brak obowiązków.
W ciągu dnia Bajtazar może być w domu, w biurze lub w drodze między nimi. Bajtazar zaczyna i kończy swój dzień w domu. Może pojechać do biura co najwyżej raz, o ile zdąży wrócić do domu przed upływem -tej bajtogodziny. Przejazdy z domu do biura i z biura do domu trwają dokładnie po bajtogodzin. W zależności od swojej lokalizacji Bajtazar może podejmować różne działania:
- W domu: Bajtazar oczywiście nie może uczestniczyć w spotkaniu w biurze, może (ale nie musi) uczestniczyć w zdalnym spotkaniu albo może rozwiązywać zadania z rund zdalnych Potyczek Algorytmicznych (ale nie może rozwiązywać zadań, uczestnicząc w spotkaniu).
- W drodze: Bajtazar nie może uczestniczyć w żadnym spotkaniu, ani nie może rozwiązywać zadań – musi się skupić na prowadzeniu samochodu (nie stać go na szofera).
- W biurze: Bajtazar może uczestniczyć w spotkaniu dowolnego typu, a poza spotkaniami musi pracować – nie może wtedy rozwiązywać zadań.
Twoim zadaniem jest zaplanować dzień Bajtazara tak, aby zmaksymalizować liczbę bajtogodzin, podczas których będzie rozwiązywał zadania. Jednakże, jeśli Bajtazar opuści więcej niż spotkań może zostać zwolniony z pracy. Wtedy jego start w przyszłorocznej edycji, jak wiele innych życiowych spraw, stanęłoby pod znakiem zapytania – nie chcemy tego.
Bajtazar jest bardzo dobrze zorganizowany, więc w każdym z segmentów skupia się na dokładnie jednej czynności, w szczególności trasy pomiędzy domem i pracą zajmują mu dokładnie po całych kolejnych segmentów.
입력
W pierwszym wierszu znajdują się trzy liczby całkowite , oraz (, , ), oznaczające odpowiednio: liczbę segmentów, liczbę spotkań, które Bajtazar może opuścić, oraz czas trwania przejazdu w jedną stronę między domem Bajtazara a biurem (w bajtogodzinach).
W drugim wierszu znajduje się słowo długości złożone ze znaków 1, 2 lub 3 oznaczające rodzaj obowiązków Bajtazara podczas kolejnych segmentów dnia. Znaki odpowiadają numerom kategorii podanych wyżej w treści.
출력
Na wyjściu powinna znaleźć się jedna liczba całkowita oznaczająca liczbę bajtogodzin, które Bajtazar może spędzić na rozwiązywaniu zadań, nie opuszczając więcej niż spotkań. Jeśli jednak nie jest możliwe opuszczenie nie więcej niż spotkań, należy wypisać .
힌트
Wyjaśnienie przykładów: W pierwszym przykładzie w jednym z optymalnych rozwiązań Bajtazar spędza kolejne segmenty dnia w następujący sposób:
- Rozwiązywanie zadań
- Zdalne spotkanie z domu
- Rozwiązywanie zadań
- Droga do pracy
- Droga do pracy
- Spotkanie w biurze
- Droga do domu
- Droga do domu (przegapia jedno spotkanie)
- Rozwiązywanie zadań
- Zdalne spotkanie z domu
W tym planie Bajtazar opuszcza dokładnie jedno spotkanie i rozwiązuje zadania przez bajtogodziny.
W drugim przykładzie jedyny plan, w którym Bajtazar nie traci pracy wygląda następująco:
- Droga do pracy
- Droga do pracy
- Spotkanie w biurze
- Praca w biurze
- Zdalne spotkanie z biura
- Droga do domu
- Droga do domu
W trzecim przykładzie Bajtazar może spędzić cały dzień w domu, rozwiązując zadania i pomijając wszystkie zdalne spotkania.
W czwartym przykładzie Bajtazar nie jest w stanie uczestniczyć w spotkaniach w biurze, ponieważ nie jest w stanie na nie zdążyć lub zdążyć wrócić z nich do domu.