Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_21_03 - Bank

Janusz znalazł poważną lukę w bankowości internetowej banku, w którym ma konto. Jest on w stanie modyfikować listę ostatnich 2×n-1 operacji. Dokładniej rzecz ujmując Janusz może zmienić typ dokładnie n wybranych z listy operacji. Zmiana typu polega na zamianie wypłaty na wpłatę i vice versa. Dodatkowo wyboru i zamiany n operacji Janusz może dokonywać wiele razy. Nasz bohater zastanawia się teraz jakie maksymalne saldo ostatnich 2×n-1 operacji mógłby uzyskać wykorzystując znalezioną przez siebie lukę?

Wejście

W pierwszej linii wejścia znajduje się jedna liczba całkowita n ∈ [1;500] określająca liczbę operacji jakie Janusz może zmienić za każdym razem. W kolejnej linii znajduje się 2×n-1 liczb całkowitych opisujących operacje bankowe. Ujemna liczba oznacza wypłatę pieniędzy z rachunku bankowego, zaś liczba dodatnia wpłatę. Wartość bezwzględna każdej z podanych kwot nie przekracza 104. Żadna z kwot nie jest równa 0.

Wyjście

Na wyjściu należy wypisać maksymalne saldo ostatnich 2×n-1 operacji jakie Janusz mógłby uzyskać gdyby wykorzystał znaleziony błąd.

Przykład #1

Wejście

2
-400 -1000 -900

Wyjście

1500

Przykład #2

Wejście

2
500 -100 -5000

Wyjście

5600

Przykład #3

Wejście

5
-100 -100 -100 -100 -100 -100 -100 -100 -100

Wyjście

900

Wyjaśnienie do przykładu

Oto kolejne zamiany. W każdym kroku pogrubione zostały operacje, które uległy zmianie:

  1. -100 -100 -100 -100 -100 -100 -100 -100 -100
  2. 100 100 100 100 100 -100 -100 -100 -100
  3. 100 100 100 100 -100 100 100 100 100
  4. 100 100 100 -100 -100 -100 -100 -100 -100
  5. 100 100 -100 100 100 100 100 -100 -100
  6. 100 100 100 -100 -100 100 100 100 100
  7. 100 100 100 100 -100 -100 -100 -100 -100
  8. 100 100 100 100 100 100 100 100 100

Dodane przez:Maciej Boniecki
Data dodania:2015-03-06
Limit czasu wykonania programu:0.5s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU JS-MONKEY
Pochodzenie:ALGOLIGA

ukryj komentarze
2015-03-07 13:19:55 Maciej Boniecki
Zamieniasz n dowolnych operacji. Nie musi to być zamiana np. wszystkich wpłat na wypłaty albo na odwrót.
2015-03-07 13:16:47 Karol Kuppe
Czy zmiana typu operacji polega na zmianie wszystkich identycznych operacji, które występują? Wnioskuję po 3. przykładzie.
2015-03-07 13:12:05 Maciej Boniecki
Nie, 0 nie występuje na wejściu.
2015-03-07 13:09:02 Gabriela Gierasimiuk
Czy może pojawić się zero na wejściu?
2015-03-07 12:57:10 Maciej Boniecki
Nie, przykład jest poprawny.
2015-03-07 12:45:32 Krzysztof Wojnar
W przykładzie 3 nie ma czasem błędu? bo mi te 900 nijak nie chce wyjść. Musiał by zmienić typ wszystkich operacji, a to chyba niemożliwe
2015-03-07 12:09:12 Maciej Boniecki
Zawsze musi zamienić n operacji.
2015-03-07 12:07:22 Karol Waszczuk
Janusz zawsze chce zmienić typ dokładnie n operacji czy czasem może uznać, że nie ma takiej potrzeby i zmieni ich mniejszą ilość?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.