SPCU  Gopu and Validity of Arrangement
N persons are standing in a line. Height of each person is between 1 and N and height of each person is distinct.
You are given an array A where A[i] denotes how many persons are there before the i_th person having heights greater than the height of the ith person. For a person i, all the persons from 1 to i  1 are considered to be before him. eg, For person 2, person 1 is considered before him.
You have to find out whether this array can be valid for some arrangement of persons. If you can uniquely do so then output "YES" Otherwise output "NO".
Input
First line contains T : number of test cases. (1 <= T <= 20).
For each test First line contains an integer n. (1 <= N <= 10^5)
Next line contains n space seperated integers denoting A[i]. (0 <= A[i] <= N)
Output
For each test case, output "YES" or "NO" according to answer.
Example
Input: 2
2
0 1
2
1 1
Output: YES
NO
Explanation
For the first test case, [2, 1] is a valid case, First person has height 2, second person has height 1.
For the second test case, no valid test case exists.
hide comments
MishThi:
20150808 10:51:12
Easy ques. But, beware of the white spaces in some of the test cases.. :P 

hrishabh:
20150717 00:39:05
Easy one...!!


mrx:
20150630 21:19:38
Lol, confidence booster :P 

Dhruv k14:
20150402 20:22:20
AC in 1st go after a reaaaallly long time,seriously needed that confidence :) 

Sahil Dua:
20150104 00:23:01
Very easy one.


divij:
20141025 20:41:15
cin/cout = WA, scanf = AC .... Same logic 

mkrjn99:
20140929 08:19:46
Last edit: 20140929 20:13:57 

FoolForCS:
20140928 13:38:26
I think the input is not filtered. Be very careful while using fast io.


Gaara:
20140204 19:04:31
easy one ...:) 

Vipul Pandey:
20140123 21:52:43
easy once you get it. 
Added by:  praveen123 
Date:  20140108 
Time limit:  2s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 
Resource:  IITK ACA CSE online judge 