307035: CF1291B. Array Sharpening
Memory Limit:256 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Array Sharpening
题意翻译
- 定义一个序列 $a_1,a_2,\cdots,a_n$ 是“整齐的”当且仅当存在一个 $1\le k\le n$ 使得 $a_1<a_2<\cdots<a_k>a_{k+1}>a_{k+2}>\cdots$,或者说存在一个分界线使左半边**严格**单调递增而右半边**严格**单调递减。 - 给定一个非负整数序列 $a_1,a_2,\cdots,a_n$,每次可以使其中一个正整数的值 $-1$,问能否把它变成整齐的。 - 多组数据,所有数据的 $n$ 之和不超过 $3\times10^5$。题目描述
You're given an array $ a_1, \ldots, a_n $ of $ n $ non-negative integers. Let's call it sharpened if and only if there exists an integer $ 1 \le k \le n $ such that $ a_1 < a_2 < \ldots < a_k $ and $ a_k > a_{k+1} > \ldots > a_n $ . In particular, any strictly increasing or strictly decreasing array is sharpened. For example: - The arrays $ [4] $ , $ [0, 1] $ , $ [12, 10, 8] $ and $ [3, 11, 15, 9, 7, 4] $ are sharpened; - The arrays $ [2, 8, 2, 8, 6, 5] $ , $ [0, 1, 1, 0] $ and $ [2, 5, 6, 9, 8, 8] $ are not sharpened. You can do the following operation as many times as you want: choose any strictly positive element of the array, and decrease it by one. Formally, you can choose any $ i $ ( $ 1 \le i \le n $ ) such that $ a_i>0 $ and assign $ a_i := a_i - 1 $ . Tell if it's possible to make the given array sharpened using some number (possibly zero) of these operations.输入输出格式
输入格式
The input consists of multiple test cases. The first line contains a single integer $ t $ ( $ 1 \le t \le 15\ 000 $ ) — the number of test cases. The description of the test cases follows. The first line of each test case contains a single integer $ n $ ( $ 1 \le n \le 3 \cdot 10^5 $ ). The second line of each test case contains a sequence of $ n $ non-negative integers $ a_1, \ldots, a_n $ ( $ 0 \le a_i \le 10^9 $ ). It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 3 \cdot 10^5 $ .
输出格式
For each test case, output a single line containing "Yes" (without quotes) if it's possible to make the given array sharpened using the described operations, or "No" (without quotes) otherwise.
输入输出样例
输入样例 #1
10
1
248618
3
12 10 8
6
100 11 15 9 7 8
4
0 1 1 0
2
0 0
2
0 1
2
1 0
2
1 1
3
0 1 0
3
1 0 1
输出样例 #1
Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
No