Gửi bài giải
Điểm:
12,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Một dãy ngoặc đúng được định nghĩa như sau:
- Xâu rỗng là 1 dãy ngoặc đúng.
- Nếu ~A~ là 1 dãy ngoặc đúng thì ~(A)~ là 1 dãy ngoặc đúng.
- Nếu ~A~ và ~B~ là dãy ngoặc đúng thì ~AB~ là 1 dãy ngoặc đúng. Cho dãy ngoặc ~S~ độ dài ~N~ và ~Q~ truy vấn biểu diễn bởi 2 số nguyên ~l~ và ~r~: Kiểm tra dãy ngoặc con ~S[l..r]~ có là dãy ngoặc đúng hay không?
Dữ liệu vào:
Dòng đầu tiên chứa 2 số nguyên dương ~N~ và ~Q~ (~1 ≤ N, Q ≤ 10^5~).
Dòng thứ hai chứa dãy ngoặc ~S~.
- Trong ~Q~ dòng tiếp theo, mỗi dòng chứa một truy vấn.
Dữ liệu ra:
- Với mỗi truy vấn, in trên một dòng "YES" nếu đúng, ngược lại in "NO".
Ví dụ:
INPUT
7 3
((())()
3 4
1 5
2 7
OUTPUT
YES
NO
YES
Bình luận