Решение задачи Карусель с Acmp

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


Карусель – одна из популярных форм проведения командных соревнований по решению задач. Наибольшую известность в использовании данной модели в России получил ресурс «Интернет-карусели», расположенный в сети Интернет по адресу http://karusel.desc.ru.

Всем командам, участвующим в карусели, предлагаются в строгом порядке одни и те же задачи, которые необходимо решить в установленное время. Система подсчета баллов такова, что доминирующим фактором является не количество решенных задач, а длины последовательностей правильных решений.

Начисление баллов происходит согласно следующей схеме:

первая задача стоит 3 балла;
если к задаче дан верный ответ, то команда получает ее стоимость, а следующая задача будет стоить на 1 балл больше;
если на задачу дан неверный ответ, то команда получает за решение 0 баллов, а следующая задача будет стоить на 3 балла меньше, но не менее 3 баллов.
Вам требуется написать программу, которая по результатам ответов команды определит итоговый балл.

Код

#include <iostream>
 
using namespace std;
 
int main()
{
    int n, a, cr = 3;
    long long s = 0;
    cin >> n;
    for(int i = 0; i <  n; ++i){
        cin >> a;
        if(a){
            s+=cr;
            cr++;
        }
        else{
            cr -= 3;
            if(cr < 3)
                cr = 3;
        }
    }
    cout << s;
    return 0;
}

         

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



Комментарии

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