Polish version    English version  
  Historia OI -> IV OI 1996/1997 -> Zadania


 Aktualności
 O olimpiadzie
 Komitety
 XVIII OI 2010/2011
 Historia OI
XVII OI 2009/2010
XVI OI 2008/2009
XV OI 2007/2008
XIV OI 2006/2007
XIII OI 2005/2006
XII OI 2004/2005
XI OI 2003/2004
X OI 2002/2003
IX OI 2001/2002
VIII OI 2000/2001
VII OI 1999/2000
VI OI 1998/1999
V OI 1997/1998
IV OI 1996/1997
Wyniki III etapu
Wyniki II etapu
Wyniki I etapu
Zadania
Regulamin
Zasady organizacji
Wskazówki
Terminarz
III OI 1995/1996
II OI 1994/1995
I OI 1993/1994
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
IV Olimpiada Informatyczna 1996/97

Zadanie: KAJ
Autor: Wojciech Rytter
Kajaki

Zawody III stopnia  
Plik źródłowy: KAJ.??? (np. pas, c, cpp)
Plik wykonywalny: KAJ.exe
Plik wejściowy: KAJ.in
Plik wyjściowy: KAJ.out

Organizując spływ, wypożyczamy na przystani kajaki. Wszystkie kajaki są jednakowe. W jednym kajaku mogą popłynąć co najwyżej dwie osoby, a suma ich wag nie może przekroczyć ustalonego maksymalnego obciążenia. Aby zapłacić jak najmniej, szukamy sposobu rozmieszczenia wszystkich uczestników spływu w minimalnej liczbie kajaków.

Zadanie

Napisz program, który:
  • wczytuje z pliku tekstowego KAJ.IN maksymalne obciążenie kajaka, liczbę uczestników spływu i wagę każdego z nich,
  • oblicza minimalną liczbę kajaków, jakie należy wynająć, aby rozmieścić w nich wszystkich uczestników spływu w zgodzie z przepisami,
  • zapisuje wynik w pliku tekstowym KAJ.OUT.

Wejście

W pierwszym wierszu pliku tekstowego KAJ.IN jest zapisana jedna liczba całkowita w, spełniająca nierówności 80<=w<=200. Jest to maksymalne obciążenie kajaka.

W drugim wierszu jest zapisana jedna liczba całkowita n, spełniająca nierówności 1 <= n <= 30000. Jest to liczba uczestników spływu.

W każdym z kolejnych n wierszy jest zapisana jedna liczba całkowita z przedziału [5..w]. Jest to waga jednego uczestnika spływu.

Wyjście

W pierwszym wierszu pliku tekstowego KAJ.OUT należy zapisać jedną liczbę całkowitą — minimalną liczbę kajaków, jakie trzeba wynająć.

Przykład
Dla pliku tekstowego KAJ.IN:

100
9
90
20
20
30
50
60
70
80
90
poprawnym rozwiązaniem jest plik tekstowy KAJ.OUT
6

Twój program powinien szukać pliku KAJ.IN w katalogu bieżącym i tworzyć plik KAJ.OUT również w bieżącym katalogu. Plik zawierający napisany przez Ciebie program w postaci źródłowej powinien mieć nazwę KAJ.???, gdzie zamiast ??? należy wpisać co najwyżej trzyliterowy skrót nazwy użytego języka programowania. Ten sam program w postaci wykonalnej powinien być zapisany w pliku KAJ.EXE.




Wersja do druku