|
Калах
(Время: 1 сек. Память: 16 Мб Сложность: 57%)
Для игры в калах используют несколько коробочек, расставленных по кругу, в которых лежат шарики. Ход осуществляется следующим образом. Берутся все шарики из одной коробочки, и начинают раскладываться по одному в коробочки подряд начиная со следующей по часовой стрелке. Если шариков больше, чем коробочек, то процесс продолжается (шарики раскладываются по второму кругу, по третьему и т.д.), пока не будут разложены все шарики. В коробочку, из которой взяли шарики, их тоже кладут. Пример одного хода приведен на рисунке. Справа шарики пронумерованы в том порядке, в котором они раскладывались по коробочкам.
Петя, тренируясь перед соревнованиями, разложил шарики по коробочкам произвольным образом, и стал делать произвольные ходы. После каждого хода он записывал номер коробочки, в которую попадал последний шарик. В некоторый момент он решил восстановить начальную конфигурацию по конечной и по тем записям, которые он делал. Напишите программу, которая поможет ему в этом.
Входные данные
В первой строке входного файла INPUT.TXT записано два натуральных числа: N ≤ 100 — количество коробочек и M ≤ 100 — количество сделанных Петей ходов. Коробочки пронумерованы последовательно по часовой стрелке числами от 1 до N. В следующих N строках (либо в одной строке через пробел) записано количество шариков в первой, второй, …, N ой коробочках в конечной конфигурации. В следующих M строках (либо в одной строке через пробел) записаны номера коробочек, в которые был положен последний шарик на первом, втором, ..., M-ом ходу соответственно. Общее количество шариков не превосходит 109.
Выходные данные
В выходной файл OUTPUT.TXT требуется вывести N чисел: первоначальное количество шариков в первой, второй, ..., N-ой коробочках.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 4 1
1 2 2 2
4
| 7 0 0 0 |
2 | 2 2
1
1
2
2
| 1 1 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |