Dãy không giảm

Xem dạng PDF

Gửi bài giải

Điểm: 25,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: cau2.inp
Output: cau2.out

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho dãy số nguyên ~a_1, a_2, ..., a_n~. Với mỗi số ~a_i~, Bờm được phép thực hiện 1 trong 3 thao tác sau:

• Cộng thêm 1: ~a_i = a_i + 1~;

• Trừ đi 1: ~a_i = a_{i - 1}~;

• Giữ nguyên: ~a_i = a_i~.

Với dãy số nguyên ~a_1, a_2, ..., a_n~ đã cho, hãy xác định xem sau khi mỗi số ~a_i~ (i = 1 ... n) thực hiện đúng 1 thao tác trên thì có thể tạo ra một dãy không giảm được hay không?

Dữ liệu

Vào từ file CAU2.INP gồm:

  • Dòng đầu chứa số nguyên dương ~T~ là số bộ test (~T ≤ 3~);
  • Trong mỗi bộ test:
    • Dòng thứ nhất chứa duy nhất một số nguyên dương ~n~ (~2 ≤ n ≤ 10^5~);
    • Dòng thứ hai chứa n số nguyên ~a_1, a_2, ..., a_n~ (~|a_i| ≤ 10^9~).

Kết quả

Ghi ra file CAU2.OUT gồm ~T~ dòng là đáp án tương ứng của ~T~ bộ test.

  • "YES" nếu Bờm có thể tạo ra một dãy không giảm. Ngược lại in ra "NO".

Ví dụ

Input

2
5
1 2 1 1 2
4
1 4 2 1

Output

YES
NO

Ràng buộc

• 50% số điểm tương ứng với 50% số test có ~T = 1~; ~a_2 = a_3 = ... = a_n~;

• 30% số điểm tương ứng với 30% số test có ~T = 2; n ≤ 20~;

• 20% số điểm tương ứng với 20% số test có ~T = 3~.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -6
    cocomelon  đã bình luận lúc 4, Tháng 12, 2023, 8:36

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.