Contest Trại hè Miền Bắc 2023 - Dãy OR
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Tấm luôn học hành chăm chỉ nên hay bị dì ghẻ ghen ghét, vùi dập. Lần này cô giáo giao cho Tấm một bài toán số học: cho dãy số gồm ~n~ số nguyên: ~A = a_1, a_2, \dots a_n~. Với mỗi số ~c~, tìm ra vị trí ~a_i~ đầu tiên trong dãy thỏa mãn ~a_i > c~. Nếu không có vị trí nào thỏa mãn thì ghi đáp án là -1.
Tuy nhiên, mụ dì ghẻ muốn Tấm phải học nhiều hơn nên đã sửa đề bài và định nghĩa các số kế tiếp như sau:
~\forall i > n: a_i = a_{i-n} \mid a_{i-n+1}~
Dì ghẻ muốn Tấm phải tìm ~a_i~ trong dãy dài vô tận này. Bất lực trước sự ác độc của dì ghẻ, Tấm nhờ bạn trả lời giúp cho các câu hỏi dạng trên.
Yêu cầu: Trả lời ~Q~ truy vấn. Mỗi truy vấn là một giá trị ~c~, hỏi giá trị vị trí ~i~ nhỏ nhất mà ~a_i > c~. Nếu mọi giá trị trong dãy ~A~ đều bé hơn hoặc bằng ~c~, in ra -1.
Input
Dòng đầu chứa hai số nguyên dương ~n~ và ~q~ (~n \le 10^5; q \le 10^5~) là số lượng các phần tử ban đầu và số câu hỏi.
Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ (~a_i \le 10^9 \ \forall i = 1, 2, \dots, n~).
Dòng thứ ba chứa ~q~ số nguyên dương ~c_1, c_2, \dots, c_q~ với ~c_j~ là giá trị ~c~ trong truy vấn thứ ~j~ (~c_j \le 10^9 \ \forall j = 1, 2, \dots, q~)
Các số trên cùng một dòng cách nhau bởi dấu cách.
Output
Gồm ~q~ dòng. Dòng thứ ~j~ trong số ~q~ dòng của kết quả là chỉ số ~i~ của ~a_i~ cần tìm hoặc -1 nếu không có phần tử nào thỏa mãn với truy vấn giá trị ~c_j~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~20~ | ~c_j < \max(a_1, a_2, \dots, a_N) \ \forall j = 1, 2, \dots, q~ |
| 2 | ~25~ | ~N \le 500~ |
| 2 | ~15~ | ~N \le 10^4, Q \le 100~ |
| 3 | ~20~ | ~N \le 10^4, a_i \le 10^4~ |
| 4 | ~20~ | ~N, Q \le 10^5~ |
Sample Input 1
3 3
1 8 4
7 12 4
Sample Output 1
2
6
2
Bình luận