Рядом с домом Пети расположена пекарня, в которой пекут вкусные пирожки с ягодами. Пете очень нравятся три вида пирожков: с брусникой, с черникой и с вишней. Пирожок с брусникой стоит A рублей, пирожок с черникой стоит B рублей, пирожок с вишней стоит C рублей. Каждый день, проходя мимо пекарни, Петя покупает пирожок одного из этих трёх видов. При этом он соблюдает следующие правила:

если в некоторый день он купил пирожок с брусникой, то на следующий день он купит пирожок с черникой;
если в некоторый день он купил пирожок с черникой, то на следующий день он купит пирожок с вишней;
если в некоторый день он купил пирожок с вишней, то на следующий день он купит пирожок с брусникой.
Например, если сегодня Петя купит пирожок с брусникой, то завтра он купит пирожок с черникой, послезавтра — пирожок с вишней, на следующий за послезавтра день — пирожок с брусникой, и так далее.

Зная, какой пирожок Петя купит сегодня, определите, сколько денег Петя потратит на пирожки в течение N дней, начиная с сегодняшнего.

Входные данные
В первой строке входных данных содержится целое число A (1 ≤ A ≤ 106) — цена пирожка с брусникой.

Во второй строке содержится целое число B (1 ≤ B ≤ 106) — цена пирожка с черникой.

В третьей строке содержится целое число C (1 ≤ C ≤ 106) — цена пирожка с вишней.

В четвёртой строке содержится целое число N (2 ≤ N ≤ 2×109) — количество дней, за которые нужно посчитать расходы Пети на пирожки.

В пятой строке содержится число 1, 2 или 3, указывающее, какой пирожок Петя купит сегодня. Число 1 соответствует пирожку с брусникой, число 2 — пирожку с черникой, число 3 — пирожку с вишней.

Выходные данные
Выведите единственное целое число — сумму, которую Петя потратит на пирожки.

Обратите внимание, что для больших значений N ответ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).

Система оценки
Решение, правильно работающее только для случаев, когда n ≤ 3, будет оцениваться в

Решение, правильно работающее только для случаев, когда n ≤ 1000, будет оцениваться в

ВалентинЛаднов ВалентинЛаднов    2   30.10.2021 14:15    30

Ответы
Глглолл Глглолл  30.10.2021 14:20

Python 3

a = int(input())

b = int(input())

c = int(input())

n = int(input())

flag = int(input())

total = 0

for _ in range(1, n+1):

   if flag == 1:

       total += a

       flag = 2

   elif flag == 2:

       total += b

       flag = 3

   elif flag == 3:

       total += c

       flag = 1

print(total)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика