Mảng nhọn

Đề bài

Mô tả

Cho mảng a1,a2,,an gồm n số nguyên không âm.

Mảng được gọi là nhọn nếu tồn tại chỉ số 1kn sao cho: a1<a2<<akak>ak+1>>an.

Đặc biệt, mọi mảng tăng nghiêm ngặt hoặc giảm nghiêm ngặt đều là nhọn. Ví dụ, các mảng [4], [0,1], [12,10,8][3,11,15,9,7,4] là nhọn; còn [2,8,2,8,6,5], [0,1,1,0], [2,5,6,9,8,8] thì không.

Bạn được phép thực hiện thao tác sau bao nhiêu lần tùy ý: chọn một phần tử dương bất kỳ của mảng và giảm đi 1. Nói cách khác, chọn chỉ số i với ai>0 và gán ai:=ai1.

Hãy xác định xem có thể biến mảng đã cho thành mảng nhọn bằng một số (có thể bằng 0) thao tác trên hay không.

Dữ liệu vào

Dòng đầu chứa số nguyên t — số bộ dữ liệu.

Với mỗi bộ dữ liệu:

  • Dòng đầu chứa số nguyên n — độ dài mảng.
  • Dòng thứ hai chứa n số nguyên không âm a1,a2,,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra Yes nếu có thể biến mảng thành mảng nhọn, ngược lại in No.

Ràng buộc

  • 1t15000
  • 1n3·105
  • 0ai109
  • Tổng n trên tất cả bộ dữ liệu không vượt quá 3·105.

Ví dụ

Input Output Giải thích
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
Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
No
Bộ 1 và 2: mảng đã nhọn. Bộ 3: có thể biến thành [3,11,15,9,7,4]. Bộ 4: không thể đạt được dạng nhọn. Bộ 8 [1,1]: giảm phần tử đầu hoặc cuối được [0,1] hoặc [1,0], cả hai đều nhọn.
1
5
0 1 2 1 0
Yes Mảng đã nhọn với đỉnh ở k=3.
1
5
0 0 0 0 0
No Tất cả phần tử bằng 0, không thao tác nào tăng được giá trị nên không thể tạo dạng nhọn cho n3.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0