In Dãy Số
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Bessie đang học lập trình với một ngôn ngữ đơn giản gồm hai loại câu lệnh:
- PRINT : In ra số nguyên vào cuối dãy kết quả.
- REP ... END: Thực thi chương trình bên trong lần ().
Các câu lệnh REP có thể lồng nhau. Số lượng câu lệnh PRINT trong chương trình được gọi là độ sâu của chương trình.
Cho một dãy gồm số nguyên dương, mỗi số không vượt quá . Hỏi liệu có tồn tại chương trình với nhiều nhất câu lệnh PRINT (không giới hạn số câu lệnh REP) để in ra dãy đó không?
Dữ liệu vào
- Dòng 1: Số nguyên — số bộ test ()
- Với mỗi bộ test:
- Dòng 1: Hai số nguyên và (, )
- Dòng 2: số nguyên dương, mỗi số
Dữ liệu ra
Với mỗi bộ test, in YES nếu tồn tại chương trình hợp lệ, ngược lại in NO.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 1 1 4 1 1 1 1 1 |
YES YES |
Test 1: PRINT 1 in ra dãy [1]. Test 2: REP 4, PRINT 1, END in ra [1,1,1,1]. |
| 11 4 2 1 2 2 2 4 2 1 1 2 1 4 2 1 1 2 2 6 2 1 1 2 2 1 1 10 2 1 1 1 2 2 1 1 1 2 2 8 3 3 3 1 2 2 1 2 2 9 3 1 1 2 2 2 3 3 3 3 16 3 2 2 3 2 2 3 1 1 2 2 3 2 2 3 1 1 24 3 1 1 2 2 3 3 3 2 2 3 3 3 1 1 2 2 3 3 3 2 2 3 3 3 9 3 1 2 2 1 3 3 1 2 2 6 3 1 2 1 2 2 3 |
YES NO YES NO YES YES YES YES YES NO NO |
Với , dãy hợp lệ khi có thể phân tích thành các block lặp. Với , cần kiểm tra lồng nhau phức tạp hơn. |
Bình luận