Yet Another Rails Problem
unknown
python
3 years ago
1.1 kB
6
Indexable
from collections import deque def another_rail_problem(B): A = deque([len(B)+1]) station = deque([]) # i = 0 while(len(B) > 0 or len(station) > 0): # i = i + 1 # print('At round', i) if len(B) > 0 and B[-1] == A[0] -1: A.appendleft((B.pop())) elif len(station) > 0 and station[-1] == A[0] - 1: A.appendleft((station.pop())) elif len(station) == 0 or B[-1] < station[0]: station.appendleft(B.pop()) else: return 'NO' # print('B:', B) # print('Station:', station) # print('A:', A, '\n') return 'YES' # B = [1, 2, 3, 4, 5] # YES # B = [5, 4, 3, 2, 1] # NO # B = [3, 4, 1, 2, 5] # YES # B = [3, 4, 1, 2, 7, 8, 5, 6] # YES # B = [3, 4, 1, 2, 7, 8, 6, 5] # NO # print('Original B:', B, '\n') # print(another_rail_problem(B)) T = int(input()) for _ in range(T): n = int(input()) B = list(map(int, input().split())) print(another_rail_problem(B))
Editor is loading...