Problem:


玉

図のように二股に分かれている容器があります。1 から 10 までの番号が付けられた10 個の玉を容器の開口部 A から落とし、左の筒 B か右の筒 C に玉を入れます。板 D は支点 E を中心に左右に回転できるので、板 D を動かすことで筒 B と筒 C のどちらに入れるか決めることができます。

開口部 A から落とす玉の並びを与えます。それらを順番に筒 B 又は筒 Cに入れていきます。このとき、筒 B と筒 C のおのおのが両方とも番号の小さい玉の上に大きい玉を並べられる場合は YES、並べられない場合は NO と出力するプログラムを作成してください。ただし、容器の中で玉の順序を入れ替えることはできないものとします。また、続けて同じ筒に入れることができるものとし、筒 B, C ともに 10 個の玉がすべて入るだけの余裕があるものとします。

Input

複数のデータセットが与えられます。１行目にデータセット数 N が与えられます。つづいて、N 行のデータセットが与えられます。各データセットに 10 個の番号が左から順番に空白区切りで与えられます。

Output

各データセットに対して、YES または NO を１行に出力して下さい。

Sample Input

2
3 1 4 2 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1

Output for the Sample Input

YES
NO



Sample input:
2
3 1 4 2 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1


Sample output:
YES
NO

Submission status: Runtime Error

Solution code:
N = input() + 1
for val in range(1,N):
	branches = [[0] for x in range(0,10)]
	x = map(int,raw_input().split(' '))
	branches[0].append(x[0])
	branch_num = 1
	for l in range(2,10):
		small_num = 0
		for n in range(0,l):
			if branches[n][0] < x[]
				small_num += 1
		if small_num == 0:
			branches[l].insert[0,x[l]]
	branch_num = 0
	for val in range(0,10):
		if branches[val][0] == 0:
			branch_num += 1
	if blanch_num <= 2:
		print 'YES'
	else:
		print 'NO'

Submission status: Runtime Error

Solution code:

import sys


def fill_balls(a):
    b = [0]
    c = [0]
    for ball in a:
        if b[-1] == 0:
            b.append(ball)
        elif b[-1] < ball and c[-1] < ball:
            if b[-1] < c[-1]:
                c.append(ball)
            else:
                b.append(ball)
        elif b[-1] < ball:
            b.append(ball)
        elif c[-1] < ball:
            c.append(ball)
        else:
            return 'NO'
    return 'YES'


sys.stdin.readline()

for line in sys.stdin:
    a = map(int, line.split(' '))
    print fill_balls(a)

Submission status: Runtime Error

Solution code:
for i in range(input()):
 q,w=[0],[0]
 flag=0
 _L=map(int,raw_input().split())
 q.append(_L[0])
 for j in _L[1:]:
  if q[-1] > w[-1]:
    if q[-1] < j: q.append(j)
    elif w[-1] < j: w.append(j)
    else: 
        flag=1
        break
  if q[-1] < w[-1]:
    if w[-1] < j: w.append(j)
    elif q[-1] < j: q.append(j)
    else: 
        flag=1
        break
 print "YES" if flag==0 else "NO"

Submission status: Runtime Error

Solution code:
def check(x):
    a, b = 0, 0
    for ball in x:
        if a > ball:
             a = ball
        elif b > ball:
             b = ball
        else:
             return False
    return True

n = int(raw_input())
for i in range(n):
    all = map(int, raw_input().split())
    print "YES" if check(all) else print "NO"

Submission status: Runtime Error

Solution code:
def d(a):
    b, c = 0, 0
    for ball in x:
        if b < a:
             b = a
        elif c < a:
             c = a
        else:
             return False
    return True
 
n = int(raw_input())
for i in range(n):
    all = map(int, raw_input().split())
    print "YES" if d(all) else "NO"