POLSKI SPOJ

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.

Zadanie w systemie SPOJ (srednie)

4345. Kodowanie permutacji

Kod zadania: KOD_PER

Kodowanie permutacji

Każdą permutację A = (a1, ..,an) liczb 1, ... , n można zakodować za pomocą ciągu B = (b1, ..,bn), w którym bi jest równe liczbie wszystkich aj takich, że: (j < i oraz aj > ai), dla każdego i = 1,...,n.

Przykład

Kodem permutacji A = (1, 5, 2, 6, 4, 7, 3) jest ciąg: B = (0, 0, 1, 0, 2, 0, 4).

Napisz program, który:

wczytuje ze standardowego wejścia długość n i kolejne wyrazy ciągu liczb B,

sprawdza, czy jest on kodem jakiejś permutacji liczb 1,..., n,

jeżeli tak, to znajduje tę permutację i zapisuje ją do standardowego wyjścia,

w przeciwnym przypadku zapisuje do standardowego wyjścia jedno słowo NIE.

Wejście

W pierwszym wierszu standardowego wejścia jest zapisana dodatnia liczba całkowita n <= 30000. Jest to liczba wyrazów ciągu B.

W każdym z kolejnych n wierszy jest zapisana jedna liczba całkowita nieujemna nie większa niż 30000. Jest to kolejny wyraz ciągu B.

Wyjście

Do standardowego wejścia należy zapisać:

w każdym z kolejnych n wierszy jeden wyraz permutacji A, której kodem jest dany ciąg B, zapisany na wejściu

jedno słowo NIE, jeśli ciąg B nie jest kodem żadnej permutacji.

Przykład

Dla danych:
7
0
0
1
0
2
0
4

Poprawna odpowiedź to:
1
5
2
6
4
7
3

Dla danych:
4
0
2
0
0

Poprawna odpowiedź to:
NIE



Dodane przez:Romualda Laskowska
Data dodania:2009-05-07
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Języki programowania:C C++ 4.0.0-8 C99 strict PAS fpc PAS gpc
Pochodzenie:Warsztaty informatyczne - Nowy Sącz

ukryj komentarze
2011-07-03 02:51:10 Krzysztof Lewko
https://www.spoj.pl/problems/ORDERS/
2011-01-31 16:07:23 Piotr Kozakowski
To zadanie jest z II OI, ale tam był limit 1000000. Da się zrobić w O(n*logn) z drzewem pozycyjnym.
2010-02-28 19:51:37 Piotr Kąkol
Według mnie niby jest [dosyć] łatwe, ale nie pasuje jakoś do kategorii łatwych, w których są tylko jakieś naprawdę podstawowe zadania (w większości) i nie wymagają znajomości np. permutacji i tym podobnych rzeczy. A to nie będzie najłatwiejsze zadanie ze średnich przy zadaniu np. PRIME_T. Co do testów, to może być problem, bo wygrzebałem to zadanie z systemu SPOJa i nie wiem czy autorka zadania korzysta jeszcze ze SPOJa. No ale nie martw się, w wolnym czasie dodam jeszcze trudniejsze zadania do średnich z również trudniejszymi testami. ;-)

Ale na razie jedno zadanie na zaostrzenie apetytu:
FACTORIZ
;-)

Ostatnio edytowany: 2010-02-28 19:55:15
2010-02-27 14:50:19 Dominik Kempa
To chyba powinno byc w łatwych. Choc wg. mnie lepiej testy zmienic i zostawić tutaj.
2010-02-27 12:56:09 Piotr Kąkol
Małe testy są, gdyby co, więc nie bójcie się o czas.
Ja mam złożoność O(n2), a mam czas 0.00. ;-)
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.