<ПРЕД Задача:
СЛЕД>
Задачу решили 646 пользователей: ...
UserDateAttemptTimeCMSC
Nakilon12 jan 2010Ruby300.1145 
stasg726 nov 2009Ruby1300.1277 
stasg727 nov 2009Ruby1400.1282 
stasg726 nov 2009Ruby1200.1283 
zhuojie29 oct 2009Python103.6985 
abortmozga.ru09 jul 2010C++1300.2987 
stasg726 nov 2009Ruby1100.1288 
karthiekc23 mar 2010Ruby1300.1490 
abortmozga.ru09 jul 2010C++1100.2891 
abortmozga.ru09 jul 2010C++1200.2891 
abortmozga.ru09 jul 2010C++1000.2895 
UlyaNick21 mar 2009Ruby100.13101 
karthiekc23 mar 2010Ruby1200.14109 
DAV23 jun 2009C++600.37109 
WsemirZ27 dec 2007Kylix800.13114 
WsemirZ27 dec 2007Kylix1400.13115 
WsemirZ27 dec 2007Kylix1500.13115 
WsemirZ27 dec 2007Kylix1600.13115 
Vladislav_Simonenko20 mar 2006FPC100.19122 
abortmozga.ru09 jul 2010C++600.26123 
ethanhunt31 may 2007C++300.09125 
Языки
C++
315
FPC
177
C
106
Java
30
Kylix
21
Ruby
4
Python
2
 > 
 > 
 > 
 > 
 > 
 > 
 > 
 > 
 > 
 > 

Восстановление перестановки

Time limit = 3 секунд(ы)

Memory limit = 32000

Имеется последовательность N чисел (1, 2, ..., N). Мы их перемешиваем и помещаем в массив A[1..N]. Затем создаем новый массив B[1..N] по такому правилу: берем в перемешанном массиве i-й элемент и ищем справа от него все элементы, большие него. Количество этих элементов будет i-м элементом массиве B. Задача — по массиву B восстановить массив A. Если это невозможно, то выведите число -1.

Вход Число N (N < 10000), затем содержимое массива BN целых, чисел разделенных пробелом.

Выход Элементы массива А через пробел или число -1.

Вход#1
4
1 1 1 0
Выход#1
3 2 1 4
Вход#2
5
2 2 2 2 2
Выход#2
-1
Вход#3
10
0 0 0 0 0 0 0 0 0 0 
Выход#3
10 9 8 7 6 5 4 3 2 1

Автор:
Областная олимпиада по информатике, 2001
30 ноября 2003

<ПРЕД | Вернуться к списку задач | Искать сообщения в форуме | СЛЕД>


© acm.mipt DevGroup
The page was generated in 210ms

SW soft NIX
ID = 3.228.10.17