Tối thiểu tổng phần dư
Xem dạng PDFThông tin
Chi tiết
Dạng bài
Ngôn ngữ cho phép
Assembly, AWK, C, C++, C++20, C++23, Go, Java, Kotlin, Pascal, Perl, PyPy, Python, Rust, Scratch, SED, Text
Điểm:
100,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tối thiểu tổng phần dư
Cho ~n~ số nguyên dương ~A_1, A_2, \ldots, A_n~ và hai số nguyên ~l, r~.
Chọn một số nguyên ~d~ thỏa mãn ~l \le d \le r~. Đặt:
~F(d) = A_1 \bmod d + A_2 \bmod d + \cdots + A_n \bmod d.~
Hãy tìm ~d~ sao cho ~F(d)~ nhỏ nhất. Nếu có nhiều giá trị ~d~ cùng cho giá trị nhỏ nhất, hãy chọn giá trị ~d~ nhỏ nhất.
Input
- Dòng đầu tiên chứa ba số nguyên ~n, l, r~.
- Dòng thứ hai chứa ~n~ số nguyên ~A_1, A_2, \ldots, A_n~.
Output
In ra một số nguyên duy nhất: giá trị ~d~ nhỏ nhất trong đoạn ~[l,r]~ làm cho ~F(d)~ nhỏ nhất.
Giới hạn
- ~1 \le n \le 1\,000\,000~.
- ~1 \le l \le r \le 1\,000\,000~.
- ~1 \le A_i \le 1\,000\,000~ với mọi ~1 \le i \le n~.
Ví dụ
Input
4 2 5
5 7 10 14
Output
2

Bình luận