Dãy số (đề HSG 12 Ninh Bình 2023)
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
SEQ.INP
Output:
SEQ.OUT
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Cho dãy số nguyên ~A~ gồm ~n~ phần tử ~a_1, a_2, \dots, a_n~ và một số nguyên dương ~Q~ là số truy vấn, mỗi truy vấn gồm một số nguyên ~K~.
Yêu cầu: Với mỗi truy vấn, cần xác định dãy con gồm các phần tử liên tiếp dài nhất trên dãy ~A~ sao cho tất cả các phần tử của dãy con đó không lớn hơn ~K~.
Dữ liệu
- Dòng đầu tiên chứa hai số nguyên dương ~n~ và ~Q~ (~1 \le n, Q \le 10^5~);
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~|a_i| \le 10^9~);
- ~Q~ dòng tiếp theo, mỗi dòng chứa một số nguyên ~K~ (~|K| \le 10^9~).
Kết quả
Gồm ~Q~ dòng, mỗi dòng trả lời tương ứng một truy vấn là độ dài dãy con liên tiếp dài nhất thỏa mãn yêu cầu (bằng ~0~ nếu không có phần tử nào thỏa mãn).
Ví dụ
SEQ.INP
6 4
-2 5 6 10 -5 0
-10
5
-4
11
SEQ.OUT
0
2
1
6
Giới hạn
- 20% số test (20% số điểm): ~n \le 10^2~, ~Q \le 5~;
- 40% số test (40% số điểm): ~10^2 < n \le 10^3~, ~Q \le 10^3~;
- 40% số test còn lại (40% số điểm): ~10^3 < n~, ~Q \le 10^5~.
Bình luận