
Reward
Trong một cuộc thi giải toán trên mạng, mỗi học sinh đều có số điểm tích lũy của riêng mình. Số điểm tích lũy của mỗi học sinh ghi lại trong một danh sách k
, số điểm tích lũy của học sinh thứ i
nằm ở vị trí i
trong danh sách.
Đội tuyển của trường THCS Trần Phú có n
học sinh tham dự cuộc thi. Tại buổi gặp mặt trước ngày thi, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển mỗi người q
triệu đồng sao cho điểm tích lũy của mỗi học sinh đều chia hết cho q
. Hãy tìm ra số nguyên dương q
lớn nhất và tối thiểu phải lớn hơn 1 triệu đồng. Nếu không có, phần thưởng sẽ tương đương với số điểm tích lũy thấp nhất.
Ví dụ:
- Với
n = 5
,k = [15, 24, 45, 36, 27]
thìmaxReward(n, k) = 3
- Với
n = 5
,k = [5, 7, 11, 13, 19]
thìmaxReward(n, k) = 5
[Đầu vào/Đầu ra]:
- [Giới hạn thời gian] 0.5 giây với C++, 3 giây với Java và C#, 4 giây vs Python, GO và Js
- [Đầu vào] Integer n, Array of Integers k
0 < n ≤ 10^6
0 < length k < 10^6
0 < k[i] ≤ 10^12
- [Đầu ra] Integer
Post Comment