Sort by

recency

|

968 Discussions

|

  • + 0 comments

    My Soln:

    from math import ceil T = int(input()) my_list = [] for _ in range(T*2): my_list.append(list(map(int, input().split())))

    new_list = []

    for i in range(1,len(my_list),2): new_list.append(my_list[i])

    for j in range(0,len(new_list)): for k in range(0,ceil(len(new_list[j])/3)): if ( (new_list[j][k + 1] <= new_list[j][len(new_list[j]) - (k + 1)] and new_list[j][len(new_list[j]) - (k + 2)] <= new_list[j][len(new_list[j]) - (k + 1)]) or (new_list[j][k + 1] <= new_list[j][k] and new_list[j][len(new_list[j]) - (k + 2)] <= new_list[j][k])): passed_all = True

        else:
            print("No")
            passed_all = False
            break
    
    if passed_all == True:
        print("Yes")
    
  • + 0 comments
    from collections import deque
    
    t = int(input())
    for _ in range(t):
        l = int(input())
        blocks = deque(list(map(int, input().split())))
        top = blocks.popleft() if blocks[0]>=blocks[-1] else blocks.pop()
        while len(blocks)>0:
            next_block = blocks.popleft() if blocks[0]>=blocks[-1] else blocks.pop()
            if top >= next_block:
                top = next_block
                if len(blocks)>=1:
                    continue
                else:
                    print('Yes')
            else:
                print('No')
                break
    
  • + 0 comments

    # Enter your code here. Read input from STDIN. Print output to STDOUT from collections import deque

    t = int(input())

    for _ in range(t): n=int(input()) blocks=list(map(int,input().split()))

    dq = deque(blocks)
    
    current = float('inf')
    possible = True
    
    while dq:
        if dq[-1] >= dq[0]:
            next_block = dq.pop()
    
        else:
            next_block = dq.popleft()
    
        if next_block > current:
            possible=False
            break
    
        current = next_block
    
    print("Yes" if possible else "No")
    
  • + 0 comments
    from collections import deque
    testcount = int(input())
    dqelemcount = []
    dq = []
    counter = 0
    element1 = 0
    element2 = 0
    element3 = 0
    _break = False
    
    for x in range(testcount):
            dqelemcount.append(int(input()))
            dq.append(deque(int(x) for x in input().split()))
    
    for y in range(testcount):
    
            while counter < dqelemcount[y] and len(dq[y]) > 0:
    
                    if(len(dq[y]) == 1):
                            dq[y].pop()
                    else:
                            element1 = dq[y].popleft()
                            element2 = dq[y].pop()
                            if element1 > element2:
                                    if (element3 == 0):
                                            element3 = element1
                                            dq[y].append(element2)
                                    else:
                                            if element3 > element1 or element3 == element1:
                                                    element3 = element1
                                            else:
                                                    print("No")
                                                    _break = True
                                                    break
                                            dq[y].append(element2)
                            elif element1 == element2:
                                    if (element3 == 0):
                                            element3 = element1
                                    else:
                                            if element3 > element1 or element3 == element1:
                                                    element3 = element1
                                            else:
                                                    print("No")
                                                    _break = True
                                                    break
                            elif element1 < element2:
                                    if (element3 == 0):
                                            dq[y].appendleft(element1)
                                            element3 = element2
                                    else:
                                            if (element3 > element2) or (element3 == element2):
                                                    element3 = element2
                                            else:
                                                    print("No")
                                                    _break = True
                                                    break
                                            dq[y].appendleft(element1)
                            counter += 1
    
            if _break == False:
                    if (len(dq[y]) == 0):
                            print("Yes")
                    else:
                            print("No")
    
            _break = False
            counter = 0
            element1 = 0
            element2 = 0
            element3 = 0
    
  • + 0 comments

    I am not sure when did things turned into the wrong but i got all of my test case right except for the first two one's possible = True for _ in range(int(input())): block = int(input()) block_dict = list(int(i) for i in list(input().split())) answers = [block_dict[0] if block_dict[0] > block_dict[-1] else block_dict[0] if len(block_dict) == 1 else block_dict[-1]] block_dict.remove(answers[0]) for i in range(len(block_dict)): x = max(block_dict[0], block_dict[-1]) if len(block_dict) > 1 else block_dict[0] if x <= answers[i]: answers.append(x) else: possible = False break print("Yes" if possible else "No")