СРОЧНО, ПОЖАЙЛУСТА
(в паскале надо сделать)
«Карусель»

Карусель – одна из популярных форм проведения командных соревнований по решению задач.

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

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

первая задача стоит 3 балла;

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

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

Вам требуется написать программу, которая по результатам ответов команды определит итоговый балл.

Первая строка входных данных содержит натуральное число N – количество задач в карусели (N ≤ 105). Во второй строке расположены N цифр 0 или 1, разделенные пробелом; i-я цифра соответствует корректности ответа команды на i-ю задачу (0 – неверный ответ, 1 – верный ответ).

Ответы

Ответ дал: raf1O5
0

program raf105;

var

 s,s2: string;

 i,j,n,price,points: integer;

begin

write('Количество задач в карусели: ');

readln(n);

write('Ответы команды: ');

readln(s);

for i:=1 to length(s) do

 if s[i]<>' '

   then s2:= s2 + s[i];

price:= 3;

for i:=1 to length(s2) do

begin

 if s2[i]='1'

   then begin

     points:= points + price;

     price:= price + 1;

   end

   else for j:=1 to 3 do

     if price > 3

       then price:= price-1;

end;

writeln('Итоговый балл: ',points);

end.

PascalABC 3.4.2

Вас заинтересует