Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача python 3

Артём Меднобыков Ученик (96), открыт 1 неделю назад
Помогите решить пожалуйста
Весна на Заречной улице
Ограничение по времени: 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
0 ответов
Похожие вопросы