Задача 2: Пирожки
Рядом с домом Пети расположена пекарня, в которой пекут вкусные пирожки с ягодами. Пете очень нравятся три вида пирожков: с брусникой, с черникой и с вишней. Пирожок с брусникой стоит 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, будет оцениваться в 9 баллов.
Решение, правильно работающее только для случаев, когда n ≤ 1000, будет оцениваться в 72 балла.
Примеры
Ввод
Вывод
Пояснение
14
12
11
7
1
88
Во всех примерах цены пирожков и количество дней, в течение которых нужно посчитать расходы Пети на пирожки, одни и те же.
В первом примере первой покупкой Пети будет пирожок с брусникой. Значит, покупки Пети за семь дней могут быть описаны последовательностью брусника, черника, вишня, брусника, черника, вишня, брусника. Сумма, потраченная на покупки, составит 14 + 12 + 11 + 14 + 12 + 11 + 14 = 88 рублей.
14
12
11
7
2
86
Во втором примере первой покупкой Пети будет пирожок с черникой. Соответственно, покупки Пети за семь дней могут быть описаны последовательностью черника, вишня, брусника, черника, вишня, брусника, черника. Сумма, потраченная на покупки, составит 12 + 11 + 14 + 12 + 11 + 14 + 12 = 86 рублей.
14
12
11
7
3
85
В третьем примере первой покупкой Пети будет пирожок с вишней. Следовательно, покупки Пети за семь дней могут быть описаны последовательностью вишня, брусника, черника, вишня, брусника, черника, вишня. Сумма, потраченная на покупки, составит 11 + 14 + 12 + 11 + 14 + 12 + 11 = 85 рублей.
python
Ответ:
a = int(input())
b = int(input())
c = int(input())
n = int(input())
x = int(input())
s = 0
while n != 0:
if x == 1:
s += a
n -= 1
x = 2
elif x == 2:
s += b
n -= 1
x = 3
elif x == 3:
s += c
n -= 1
x = 1
print(s)
Объяснение:
Python:
на 7 дней
14
12
11
7
1
88
на 999 дней
14
12
11
999
1
12321
Ответ:
i1 = int(input())
i2 = int(input())
i3 = int(input())
i4 = int(input())
i5 = int(input())
cach = 0
while i4 != 0:
if i5 == 1:
cach += i1
i4 -=
elif i5 == 2:
cach += i2
i4 -= 1
elif i5 == 3:
cach += i3
i4 -= 1
if i5 == 3:
i5 = 0
i5 += 1
print(cach)
Объяснение:
на 72 балла