diff --git a/task3/main.py b/task3/main.py new file mode 100644 index 0000000..3533edc --- /dev/null +++ b/task3/main.py @@ -0,0 +1,25 @@ +from collections import deque +from typing import Iterable, Reversible + + +def read_numbers() -> list[int]: + return list(map(int, input("A=").split())) + +def get_modified_sequence(numbers: Reversible[int]) -> Iterable[int]: + stack: deque[int] = deque() + result: deque[int] = deque() + for number in reversed(numbers): + while stack: + if stack[-1] >= number: + result.appendleft(stack[-1]) + break + stack.pop() + else: + result.appendleft(0) + stack.append(number) + return result + +def print_sequence(sequence: Iterable[int]) -> None: + print(f"A={' '.join(map(str, sequence))}") + +print_sequence(get_modified_sequence(read_numbers()))