[VTT Q4 Contest 05] Bài 4: Ước chung lớn nhất [GCD]
Xem dạng PDF
Gửi bài giải
Điểm:
4,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
GCD.INP
Output:
GCD.OUT
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Ước chung lớn nhất của một tập ~A~ gồm các số nguyên dương là số nguyên dương ~d~ lớn nhất sao cho ~d~ là ước của mọi số trong ~A~.
Cho dãy gồm ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ và số nguyên ~k~. Hãy chọn một đoạn liên tiếp gồm ~k~ phần tử ~a_i, a_{i+1}, \dots, a_{i+k-1}~ sao cho ước chung lớn nhất của các phần tử trong đoạn là lớn nhất có thể, và in ra giá trị lớn nhất đó.
Dữ liệu
- Dòng đầu chứa hai số nguyên dương ~n~ và ~k~ (~2 \le k \le n \le 10^5~).
- Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ (~1 \le a_i \le 10^5~).
Kết quả
Ghi ra một dòng duy nhất chứa một số nguyên là kết quả của bài toán.
Ví dụ
GCD.INP
10 3
2 6 4 3 18 12 24 8 7 5
GCD.OUT
6
Giải thích: Đoạn 3 phần tử liên tiếp có ước chung lớn nhất bằng 6 là 18, 12, 24.
Giới hạn
- Subtask 1 (50% số điểm): ~n \le 10^3~.
- Subtask 2 (50% số điểm): không có ràng buộc gì thêm.
Bình luận