Решение задачи "Снежный ком" с Codeforces

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


Сегодня утром выпало необычайно много снега. Мишаня решил выйти на улицу и заметил очень большой снежный ком, который катится с горы! К счастью, на горе есть камни. Изначально ком имеет вес w и находится на высоте h метров. Каждую секунду происходит следующее: вес кома увеличивается на i, где i — текущая высота, на которой он находится, затем ком ударяется о камень (если он есть), после этого ком спускается на один метр ниже. Если же ком находится на высоте ноль, он останавливается и дальше не спускается.

На горе есть ровно два камня. Первый камень имеет вес u1 и высоту d1, второй — u2 и d2 соответственно. Когда ком сталкивается с каким-либо из двух камней, ком теряет вес, равный весу этого камня. Если при этом вес кома стал отрицательным, то его вес становится равным нулю, но ком продолжает движение так же, как и раньше.

Код

#include <iostream>
using namespace std;
int main () {
    int h,w,w1,h1,w2,h2;
    cin >> w >> h >> w1 >> h1 >> w2 >> h2;
    while (h != 0) {
        w += h;
        if(h == h1) 
            w -= w1;
        if(h == h2) 
            w -= w2;
        if (w < 0) 
            w = 0;
        h--;
    }
    cout << w << endl;
    return 0;
}

         

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


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

Комментарии

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