Polish version    English version  
  Historia OI -> XI OI 2003/2004 -> 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
Terminarz
Zadania
Wyniki III etapu
Wyniki II etapu
Wyniki I etapu
II Etap
III Etap
Przepisy
Dla zawodnikow
Przydatne zasoby
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
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
XI Olimpiada Informatyczna 2003/2004

Zadanie: mos

Most

Zawody II stopnia  
Plik źródłowy: mos.xxx (xxx=pas,c,cpp)
Limit pamięci: 16 MB

Alternatywne formaty: PostScript

W środku nocy grupa turystów chce przejść przez stary, zniszczony, dziurawy most. Turyści mają jedną latarkę. Światło latarki umożliwia przejście przez most maksymalnie dwóm turystom na raz. Turyści nie mogą przechodzić przez most bez latarki, ani w większych niż dwuosobowe grupach, gdyż grozi to wpadnięciem do rzeki. Każdemu turyście przejście przez most zajmuje określony czas. Dwóch turystów idących razem potrzebuje na przejście przez most tyle czasu, co wolniejszy z nich. Jaki jest najkrótszy czas, w którym wszyscy turyści mogą przejść przez most?

Przykład

Przypuśćmy, że grupa liczy czterech turystów. Pierwszy z nich potrzebuje na przejście przez most 6 minut, drugi 7 minut, trzeci 10 minut, a czwarty 15 minut. Poniższy rysunek przedstawia, w jaki sposób turyści mogą przejść przez most w 44 minuty. Mogą to jednak zrobić szybciej. Jak?


Przykładowy sposób przejścia mostu w 44 minuty. Liczby w kółeczkach oznaczają liczbę minut, jaką turysta potrzebuje na przejście mostu.

Zadanie

Napisz program, który:

  • wczyta ze standardowego wejścia opis grupy turystów,
  • znajdzie najkrótszy czas wystarczający do przejścia przez most,
  • wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu standardowego wejścia zapisana jest jedna dodatnia liczba całkowita n --- liczba turystów, 1 <= n <= 100,000. W kolejnych n wierszach zapisany jest niemalejący ciąg n dodatnich liczb całkowitych nie większych niż 1,000,000,000, po jednej w każdym wierszu. Liczba w i+1-szym wiersu (1 <= i <= n), określa czas potrzebny i-temu turyście na przejście przez most. Suma tych czasów nie przekracza 1,000,000,000.

Wyjście

Twój program powinien wypisać na standardowe wyjście, w pierwszym wierszu, jedną liczbę całkowitą --- najkrótszy czas wystarczający, aby wszyscy turyści przeszli na drugą stronę mostu.

Przykład

Dla danych wejściowych:

4
6
7
10
15

prawidłową odpowiedzią jest:

42



Wersja do druku