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 separated 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
divij:
2014-10-25 20:41:15
cin/cout = WA, scanf = AC .... Same logic |
|
FoolForCS:
2014-09-28 13:38:26
I think the input is not filtered. Be very careful while using fast io.
|
|
Gaara:
2014-02-04 19:04:31
easy one ...:) |
|
Vipul Pandey:
2014-01-23 21:52:43
easy once you get it. |
|
Abhinav Gupta:
2014-01-23 08:28:01
what would be the answer for 0 0 |
|
P_Quantum:
2014-01-21 21:30:58
Easy one..!! |
|
Rishav Goyal:
2014-01-18 20:15:18
i like such problems which are less implemented based! lazy abit |
|
Rishabh Dugar:
2014-01-18 18:13:56
tutorial stuff |
|
Rajat Goyal:
2014-01-14 19:48:19
easy one |
Added by: | praveen123 |
Date: | 2014-01-08 |
Time limit: | 2s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | IITK ACA CSE online judge |