Wybaczcie, że tak późno odpisuję, ale dopiero teraz mam czas. Prowadzący nalegał, żeby używać printf i scanf, mimo że cały kod ma być w C++. Stinga nie możemy używać, arrayów też nie. Ale z tego, co podpytałem kolegów, możemy chyba zrobić własną implementację tablicy. A mi chodzi tylko jak wczytać trzecią i czwartą linijkę wejścia.
Treść zadania:
Twoim zadaniem jest zapakowanie samochodu przedmiotami. Masz do wyboru n przedmiotów
Za przewóz i-tego przedmiotu możesz uzyskać Pi złotych (i=1,2,..,n).
Waga i-tego przedmiotu wynosi Wi (i=1,2,..,n).
Masa towaru w samochodzie nie może przekroczyć wartości C.
Upakuj samochód optymalnie, tj. tak by suma wag nie przekroczyła C oraz suma złotych była największa.
Możesz nie przyjąć zlecenia jeśli narazi Cię to na koszty. Niestety Pan, który przenosi przedmioty do samochodu pobiera stałą opłatę 20 zł za samochód.
Dodatkowo, koszt przeniesienia każdego załadowanego przedmiotu o wadze większej niż 100 kg wynosi 5 zł.
Dodatkowe informacje
Maksymalna ilość przedmiotów: 15.
Minimalny element w P i W: 0
Maksymalny element w P i W: 1000
Liczba testów (liczba uruchomień twojego programu): 10.
Wejście
W pierwszej linii liczba zapytań (samochodów do zapakowania) w danym teście.
W kolejnych liniach.
Ilość przedmiotów n.
Wypłaty za przedmioty Pi.
Wagi przedmiotów Wi.
Ładowność wozu C.
Wyjście
W kolejnych liniach.
Optymalny profit.
Przykład
Wejście
2
5
588 40 307 367 206
211 30 974 943 622
1766
1
596
997
550
Wyjście
965
0