Mảng nhọn
Nộp bài giải
Điểm:
3,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Assembly, C#, C++, D, Dart, Go, Groovy, Java, Javascript, Kotlin, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Ruby, Rust, Scratch, Typescript, Zig
Cho mảng gồm số nguyên không âm.
Mảng được gọi là nhọn nếu tồn tại chỉ số sao cho:
Đặ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 , , và là nhọn; còn , , 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 . Nói cách khác, chọn chỉ số với và gán .
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 ) thao tác trên hay không.
Dữ liệu vào
Dòng đầu chứa số nguyên — số bộ dữ liệu.
Với mỗi bộ dữ liệu:
- Dòng đầu chứa số nguyên — độ dài mảng.
- Dòng thứ hai chứa số nguyên không âm .
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
- Tổng trên tất cả bộ dữ liệu không vượt quá .
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 . Bộ 4: không thể đạt được dạng nhọn. Bộ 8 : giảm phần tử đầu hoặc cuối được hoặc , cả hai đều nhọn. |
| 1 5 0 1 2 1 0 |
Yes | Mảng đã nhọn với đỉnh ở . |
| 1 5 0 0 0 0 0 |
No | Tất cả phần tử bằng , không thao tác nào tăng được giá trị nên không thể tạo dạng nhọn cho . |
Bình luận