Решение задачи "Шаасс и Осколы" с Codeforces

Без пояснения   Просмотров: 9


Шаасс решил поохотиться на птиц. Есть n электрических проводов, параллельных друг другу. Провода пронумерованы от 1 до n сверху вниз. На каждом проводе некоторое количество осколов сидят в рядок, на i-ом проводе сидит a i осколов. Осколы — это такие вкуснейшие птицы, они гнездятся рядом с Шаассом.


Иногда Шаассу удается подстрелить одну птицу, птица умирает (обозначим номер провода, на котором сидела эта птица как i). После чего все птицы слева от нее на проводе i пугаются и перепрыгивают вверх на провод номер i - 1. Если выше проводов нет, то они улетают. Также, все птицы справа от подстреленной перепрыгивают вниз на провод i + 1, а если такого провода нет, то они улетают.

Шаасс подстрелил m птиц. Зная изначальное количество птиц на каждом проводе, скажите, сколько птиц будет сидеть на каждом проводе после охоты.

Код

#include <bits/stdc++.h>
using namespace std;

int a[110],n,m;

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
    cin>>m;
    for(int i=1;i<=m;i++){
    	int x,y;
    	cin>>x>>y;
    	a[x-1]+=y-1;
    	a[x+1]+=a[x]-y;
    	a[x]=0;
    }
    for(int i=1;i<=n;i++) cout<<a[i]<<endl;
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться