Codeforces Beta Round 72 (Div. 1 Only) |
---|
Закончено |
В очереди к доктору Айболиту стоят n животных. Когда животное заходит в кабинет, доктор его осматривает, выписывает рецепты, назначает анализы, и, возможно, назначает дополнительный прием. Доктор отлично знаком со всеми животными в лесу, и поэтому точно знает, что животное номер i в очереди должно будет посетить его кабинет ровно ai раз. Мы будем считать, что осмотр занимает гораздо больше времени, чем сдача анализов и других дополнительных процедур, и поэтому будем считать, что как только животное покидает кабинет, оно сразу же встает в конец очереди к доктору. Разумеется, если животное уже побывало у доктора необходимое количество раз, то вставать еще раз в очередь ненужно, и оно сразу же уходит домой.
Доктор планирует уйти домой после того, как завершит прием k животных, и поэтому ему важно, как будет выглядеть очередь в этот момент. Так как у доктора очень длинный рабочий день, да и вообще, отвлекаться ему некогда, то он попросил вас выяснить это.
В первой строке входных данных записаны через пробел два целых числа n и k (1 ≤ n ≤ 105, 0 ≤ k ≤ 1014). Во второй строке заданы через пробел целые числа a1, a2, ..., an (1 ≤ ai ≤ 109).
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout (также вы можете использовать спецификатор %I64d).
Если доктор осуществит в сумме меньше чем k приемов, то выведите единственное число «-1» (без кавычек). Иначе выведите последовательность чисел — номера животных в порядке, в котором они стоят в очереди.
Обратите внимание, что эта последовательность может быть пустой. Этот случай присутствует в претестах. Вы можете ничего не выводить или выводить один символ конца строки. Оба варианта будут засчитаны за правильный ответ.
3 3
1 2 1
2
4 10
3 3 2 1
-1
7 10
1 3 3 1 2 3 1
6 2 3
Объяснение первого примера:
Объяснение второго примера:
Название |
---|