Thời gian: 2s
ami có một dãy số nguyên a gồm N phần tử và một số k. Các bạn được làm thao tác sau không quá m lần:
Chọn một cặp số (i,j) thoả điều kiện 1≤i,j≤N và a[i]≥k. Sau đó, gán a[i]=a[i]−k và a[j]=a[j]+k.
Hãy tìm cách tận dụng thao tác trên để sau khi chuyển đổi,
giá trị max(a[1],a[2],...,a[N])−min(a[1],a[2],...,a[N]) là nhỏ nhất có thể.
Input
Dòng đầu tiên chứa một số nguyên dương k.(k<=10^9)
Dòng thứ hai chứa một số nguyên dương m.(m<=5*10^4)
Dòng tiếp theo chứa một số nguyên dương N.(N<=5*10^4)
N dòng tiếp theo, mỗi dòng chứa một phần tử của a.(a[i]<=10^9)
Output
1 số nguyên dương là kết quả bài toán. Giá trị nhỏ nhất của max(a[1],a[2],...,a[N])−min(a[1],a[2],...,a[N]).
Sample Input 1
2
1
3
2
2
3
Sample Output 1
1
Sample Input 2
1
1
3
2
3
4
Sample Output 2
0