Codeforces Round 158 (Div. 2) |
---|
Закончено |
У маленького мальчика Васи в комнате стояло n коробок с шариками. Коробки стояли в ряд и были пронумерованы числами от 1 до n слева направо.
Однажды Вася выбрал одну из коробок, пусть она имеет номер i, вынул из нее все шарики (гарантируется, что в этой коробке изначально был хотя бы один шарик) и начал класть по одному шарику в коробки с номерами i + 1, i + 2, i + 3 и так далее. Если Вася кладет шарик в коробку номер n, то следующий шарик он положит в коробку 1, затем в коробку 2 и так далее. Так он действовал пока в его руках не осталось ни одного шарика. Возможно, что Вася положит несколько шариков в одну и ту же коробку, а также возможно, что один или несколько шариков попадут в коробку номер i. В случае i = n первый шарик Вася положит в коробку 1, затем в коробку 2 и так далее.
Например, пусть изначально у Васи было четыре коробки, и в первой коробке лежало 3 шарика, во второй — 2, в третьей — 5, в четвертой — 4 шарика. Тогда если i = 3, то Вася вынет все пять шариков из третьей коробки и разложит их в коробки с номерами: 4, 1, 2, 3, 4. После всех действий Васи шарики будут лежать в коробках таким образом: в первой коробке — 4, во второй — 3, в третьей — 1, в четвертой — 6.
На данный момент Вася совсем забыл, как изначально располагались шарики в коробках, но он знает, как они лежат сейчас, и число x — номер коробки, куда он положил последний из вынутых шариков.
Он просит Вас помочь найти начальное расположение шариков в коробках.
В первой строке входных данных находятся два целых числа — n и x (2 ≤ n ≤ 105, 1 ≤ x ≤ n), означающие количество коробок и номер коробки, куда Вася положил последний шарик, соответственно. Во второй строке через пробел записаны n целых чисел a1, a2, ..., an, где число ai (0 ≤ ai ≤ 109, ax ≠ 0) означает количество шариков в коробке номер i после того, как Вася выполнил все действия.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-битных чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.
Выведите n целых чисел, где i-ое означает количество шариков в коробке номер i до начала действий Васи. Числа при выводе разделяйте пробелами. Если существует несколько правильных решений, то разрешается вывести любое.
4 4
4 3 1 6
3 2 5 4
5 2
3 2 0 2 7
2 1 4 1 6
3 3
2 3 1
1 2 3
Название |
---|