In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Twój przyjaciel jest właścicielem hotelu w Gdyni. Właśnie rozpoczyna się sezon turystyczny i do hotelu napłynęła przytłaczająca liczba ofert od potencjalnych klientów. Przyjaciel poprosił Cię więc o pomoc w przygotowaniu systemu rezerwacji pokoi hotelowych.
Do wynajęcia jest pokoi. Przygotowanie -tego spośród nich będzie kosztowało Twojego przyjaciela złotych (o ile zdecyduje się go wynająć). Wówczas pokój będzie można wynająć maksymalnie osobom. Można założyć, że koszt przygotowania pokoju o większej pojemności jest nie mniejszy niż koszt przygotowania dowolnego pokoju o mniejszej pojemności.
System rezerwacji otrzyma pewną liczbę ofert. Każda z nich będzie zawierała minimalną wymaganą pojemność pokoju ( osób) oraz cenę, jaką wynajmujący chce zapłacić za pokój ( złotych). Każdemu oferentowi można wynająć tylko jeden pokój, nie można też wynająć kilku klientom tego samego pokoju. Twój przyjaciel chciałby mieć w wakacje trochę czasu dla siebie, nie zamierza zatem przyjmować więcej niż ofert.
Skoro jesteś tak zdolnym programistą, Twój przyjaciel chciałby, abyś obliczył dla niego maksymalny możliwy zysk z wynajęcia pokoi. Zysk to całkowita suma, która wpłynie za wynajęte pokoje, pomniejszona o koszt ich przygotowania.
Pierwszy wiersz standardowego wejścia zawiera trzy liczby całkowite , oraz (, ), oznaczające odpowiednio liczbę pokoi w hotelu, liczbę złożonych ofert oraz maksymalną liczbę ofert, którą przyjaciel jest w stanie przyjąć. Następne wierszy to opisy pokoi: -ty wiersz zawiera dwie liczby całkowite , () - koszt przygotowania i pojemność -tego pokoju. Kolejne wierszy to opisy ofert, każdy zawierający dwie liczby całkowite , () - wysokość -tej oferty oraz minimalny rozmiar wymaganego pokoju.
Możesz założyć, że w testach wartych 40 punktów zachodzi dodatkowa nierówność .
Pierwszy i jedyny wiersz standardowego wyjścia powinien zawierać jedną liczbę całkowitą - maksymalny możliwy zysk z wynajęcia co najwyżej pokoi. Zauważ (i miej nadzieję!), że zysk może okazać się duży.
Dla danych wejściowych:
3 2 2 150 2 400 3 100 2 200 1 700 3
poprawną odpowiedzią jest:
400
Wyjaśnienie do przykładu: Twój przyjaciel może przyjąć obydwie oferty, wynajmując pokoje numer 2 i 3.
Autor zadania: Jakub Pachocki.