Bài 3 (HSG 9 Hải Phòng 2022-2023)
Xem PDF
Điểm:
1100 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho mảng \(A\) gồm \(n\) số nguyên không âm \(a_1, a_2, \ldots, a_n\) và một số nguyên dương \(k\). Yêu cầu: viết chương trình tìm đoạn con liên tiếp dài nhất có tổng các phần tử chia hết cho \(k\).
Input
- Dòng một chứa hai số nguyên dương \(n, k\):
- \(1 \le n \le 100\,000\)
- \(1 \le k \le 1000\)
- Dòng thứ hai chứa \(n\) số nguyên không âm \(a_1, a_2, \ldots, a_n\):
- \(0 \le a_i \le 10^8\), \(\forall i=\overline{1;n}\)
- Các số nguyên trong file dữ liệu được ghi cách nhau ít nhất một dấu cách trống.
Output
- Ghi ra một số nguyên duy nhất là độ dài lớn nhất của đoạn con tìm được.
Example
Test 1
Input
7 5
7 1 4 3 2 5 9
Output
5
Note
Có nhiều đoạn con liên tiếp có tổng chia hết cho \(k=5\) như:
\[a_4+a_5+a_6=3+2+5=10\vdots k\]
\[a_1+a_2+a_3+a_4=7+1+4+3=15\vdots k\]
Đoạn con dài nhất có độ dài bằng \(5\) là:
\[a_2+a_3+a_4+a_5+a_6=1+4+3+2+5=15\vdots k\]
Scoring
- \(25\%\) số test tương ứng với \(25\%\) số điểm có \(n \le 100\);
- \(50\%\) số test tương ứng với \(50\%\) số điểm có \(100 < n \le 10\,000\);
- \(25\%\) số test tương ứng với \(25\%\) số điểm có \(10\,000 < n \le 100\,000\).
Bình luận