Домашние задания: Информатика

Разноэтажный дом Ограничение по времени: 1 секунда Архитекторы — люди творческие: иногда они создают

Архитекторы — люди творческие: иногда они создают дома, в которых разные подъезды имеют разную высоту. В таком доме и поселился герой задачи Макс.
В доме Макса три подъезда: в первом A этажей, во втором — B, в третьем — C. При этом на одной площадке (в рамках конкретного подъезда) всегда ровно три квартиры. Квартиры в доме имеют сквозную нумерацию, начиная с первого этажа первого подъезда.

Расположение квартир в доме из первого примера. Разными цветами обозначены разные подъезды.

Однажды Макс задумался: квартиры с какими номерами расположены на этаже с номером K?

Формат входных данных
Первая строка содержит целое число A (1≤A≤ 20) — количество этажей в первом подъезде.
Вторая строка содержит целое число B (1≤B≤20) — количество этажей во втором подъезде.
Третья строка содержит целое число C (1≤C≤20) — количество этажей в третьем подъезде.
Четвёртая строка содержит целое число K (1≤K≤max(A,B,C)) — номер этажа, для которого Макс хочет узнать номера расположенных там квартир.

Формат выходных данных
Выведите несколько целых чисел — номера квартир, расположенных на этаже с номером K. Числа необходимо выводить в порядке возрастания.

Система оценки
В этой задаче 10 тестов, не считая тестов из условия. За каждый пройденный тест будет начисляться 10 баллов. Решения, правильно работающие при K≤min(A,B,C), будут оцениваться в 40 баллов.
если оптимизировать предыдушие коды, то
Bobur Mirzaev
Bobur Mirzaev
127
Лучший ответ
a = int(input())
b = int(input())
c = int(input())
k = int(input())
if a >= k:
r = (k - 1) * 3 + 1
z = r + 1
x = z + 1
print (r)
print (z)
print (x)
if b >= k:
v = (a * 3) + ((k - 1) * 3 + 1)
l = v + 1
n = l + 1
print (v)
print (l)
print (n)
if c >= k:
p = (b * 3) + ((a * 3) + ((k - 1) * 3 + 1))
o = p + 1
i = o + 1
print (p)
print (o)
print (i)
уже сделали сверху
Татьяна .
Татьяна .
151
Татьяна . а уже сделали...
a, b, c, k = (int(input().lstrip()) for i in range(4))
from itertools import chain
from sys import stdout
stdout.write('\n'.join(map(str, chain(filter(lambda x: (x - 1) // 3 == (k - 1), (i for i in range(1, 3 * a + 1))),
filter(lambda x: (x - 3 * a - 1) // 3 == (k - 1), (i for i in range(3 * a + 1, 3 * (a + b) + 1))),
filter(lambda x: (x - 3 * (a + b) - 1) // 3 == (k - 1), (i for i in range(3 * (a + b) + 1, 3 * (a + b + c) + 1)))))))

не благодари) у нас это в 7 классе 6 задание
Кайрат Кайрат У тебя в коде ошибка вот верный.

a = int(input())
b = int(input())
c = int(input())
k = int(input())
ak = a * 3
bk = ak +(b*3)
ck = ak + bk + (c*3)
if k<=a:
print((k-1)*3+1, (k-1)*3+2, (k-1)*3+3)
if k<=b:
print((k-1)*3+ak+1,(k-1)*3+ak+2,(k-1)*3+ak+3)
if k<=c:
print((k-1)*3+bk+1, (k-1)*3+bk+2, (k-1)*3+bk+3)