Помогите решить пожалуйста Весна на Заречной улице Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт
Hа Заречной улице в один ряд расположены n домов, на крыше каждого из которых с ранней весны сидят di голубей. Спортивный программист Саша, пробегая вдоль домов, пугает птиц, которые перелетают на крыши следующих по порядку домов по следующему правилу. Пусть на крыше дома с номером i сидят di голубей. Поднявшись в воздух, они распределяются по крышам оставшихся n−i домов по ⌊din−i⌋ штук, где скобки означают округление вниз до целой части. Оставшиеся после такого распределения голуби все вместе перелетают на крышу следующего i+1 -го дома. Для определённости считайте, что скорость птиц существенно превосходит скорость Саши и они успевают перераспределиться до того момента, когда он добежит до следующего дома. Пробежав мимо первых m домов, Саша вспомнит, что ему пора писать очередной раунд, остановится как вкопанный, и в жизни пернатых наконец-то наступит спокойствие. По входным данным определите итоговую рассадку птиц.
Формат входных данных Первая строка входных данных содержит натуральное число n — количество домов на улице. Во второй строке через пробел расположены n неотрицательных целых чисел di (0≤di≤109 ) — начальная рассадка голубей по крышам. Третья строка входного файла содержит натуральное число m (1≤m<n≤105 ) — количество домов на улице, мимо которых пробежит Саша. Обратите внимание , что при заданных ограничениях для хранения ответа необходимо использовать 64 -битный тип данных, например, long long в C++ .
Формат выходных данных Выведите через пробел n−m неотрицательных целых чисел di — конечную рассадку голубей на крышах оставшихся домов.
Система оценки Решения, верно работающие при m=n−1 , получат не менее 10 баллов. Решения, верно работающие при di≤100 , получат не менее 20 баллов. Решения, верно работающие при n≤1000 , получат не менее 20 баллов.
Замечание В примере n=5 домов. На крыше первого дома 10 голубей, второго — 0 , третьего — 2 , четвёртого — 7 и пятого — 3 . Саша пробежит мимо трёх домов из пяти. Первые десять голубей перелетят на крыши следующих четырёх домов. Так как ⌊104⌋=2 , на каждую из следующих крыш перелетит по два голубя, а ещё два (неделящийся остаток) перелетят на крышу следующего дома. Теперь голуби сидят так: 0 , 4 , 4 , 9 , 5 . Когда Саша будет пробегать мимо второго дома, четыре голубя перелетят на крыши следующих трёх домов. Так как ⌊43⌋=1 , на каждую из следующих крыш перелетит по одному голубю, а ещё один (неделящийся остаток) перелетит на крышу следующего дома. Теперь голуби сидят так: 0 , 0 , 6 , 10 , 6 . Когда Саша будет пробегать мимо третьего дома, шесть голубей перелетят на крыши следующих двух домов. Так как ⌊62⌋=2 , на каждую из следующих крыш перелетит по три голубя. Неделящийся остаток равен нулю. Теперь (и окончательно) голуби сидят так: 0 , 0 , 0 , 13 , 9 .
Весна на Заречной улице
Ограничение по времени: 1
секунда
Ограничение по памяти: 256
мегабайт
Hа Заречной улице в один ряд расположены n
домов, на крыше каждого из которых с ранней весны сидят di
голубей. Спортивный программист Саша, пробегая вдоль домов, пугает птиц, которые перелетают на крыши следующих по порядку домов по следующему правилу.
Пусть на крыше дома с номером i
сидят di
голубей. Поднявшись в воздух, они распределяются по крышам оставшихся n−i
домов по ⌊din−i⌋
штук, где скобки означают округление вниз до целой части. Оставшиеся после такого распределения голуби все вместе перелетают на крышу следующего i+1
-го дома. Для определённости считайте, что скорость птиц существенно превосходит скорость Саши и они успевают перераспределиться до того момента, когда он добежит до следующего дома.
Пробежав мимо первых m
домов, Саша вспомнит, что ему пора писать очередной раунд, остановится как вкопанный, и в жизни пернатых наконец-то наступит спокойствие.
По входным данным определите итоговую рассадку птиц.
Формат входных данных
Первая строка входных данных содержит натуральное число n
—
количество домов на улице. Во второй строке через пробел расположены n
неотрицательных целых чисел di
(0≤di≤109
) —
начальная рассадка голубей по крышам. Третья строка входного файла содержит натуральное число m
(1≤m<n≤105
) —
количество домов на улице, мимо которых пробежит Саша.
Обратите внимание
, что при заданных ограничениях для хранения ответа необходимо использовать 64
-битный тип данных, например, long
long
в C++
.
Формат выходных данных
Выведите через пробел n−m
неотрицательных целых чисел di
—
конечную рассадку голубей на крышах оставшихся домов.
Система оценки
Решения, верно работающие при m=n−1
, получат не менее 10
баллов.
Решения, верно работающие при di≤100
, получат не менее 20
баллов.
Решения, верно работающие при n≤1000
, получат не менее 20
баллов.
Замечание
В примере n=5
домов. На крыше первого дома 10
голубей, второго —
0
, третьего —
2
, четвёртого —
7
и пятого —
3
. Саша пробежит мимо трёх домов из пяти.
Первые десять голубей перелетят на крыши следующих четырёх домов. Так как ⌊104⌋=2
, на каждую из следующих крыш перелетит по два голубя, а ещё два (неделящийся остаток) перелетят на крышу следующего дома. Теперь голуби сидят так: 0
, 4
, 4
, 9
, 5
.
Когда Саша будет пробегать мимо второго дома, четыре голубя перелетят на крыши следующих трёх домов. Так как ⌊43⌋=1
, на каждую из следующих крыш перелетит по одному голубю, а ещё один (неделящийся остаток) перелетит на крышу следующего дома. Теперь голуби сидят так: 0
, 0
, 6
, 10
, 6
.
Когда Саша будет пробегать мимо третьего дома, шесть голубей перелетят на крыши следующих двух домов. Так как ⌊62⌋=2
, на каждую из следующих крыш перелетит по три голубя. Неделящийся остаток равен нулю. Теперь (и окончательно) голуби сидят так: 0
, 0
, 0
, 13
, 9
.
Ввод
Вывод
5
10 0 2 7 3
3
13 9