Bộ gần nhất
Cho dãy số \((a): a_1, a_2, ..., a_n\) gồm \(n\) số nguyên và dãy số \((b): b_1, b_2, ..., b_n\) gồm \(n\) số tự nhiên. Dãy số \((c): c_1, c_2, ..., c_n\) được xây dựng từ dãy số \((a)\) và \((b)\) thỏa mãn điều kiện \(a_i \le c_i \le a_i + b_i\) với mọi \(1 \le i \le n\). Chọn ra \(k\) số nguyên đôi một phân biệt \(1 \le i_1, i_2, ..., i_k \le n\). Tìm giá trị nhỏ nhất của biểu thức \(|c_{i_1} - c_{i_2}| + |c_{i_2} - c_{i_3}| + ... + |c_{i_k} - c_{i_1}|\).
Đầu vào
Dòng đầu tiên chứa hai số nguyên \(n, k\) \((3 \le k \le n \le 2 \times 10^5)\).
Dòng tiếp theo chứa \(n\) số nguyên trong khoảng \([-10^9, 10^9]\) là các phần tử của dãy số \((a)\).
Dòng cuối cùng chứa \(n\) số nguyên trong khoảng \([0, 10^9]\) là các phần tử của dãy số \((b)\).
Đầu ra
Một số nguyên duy nhất là kết quả của bài toán.
Subtask
\(30\%\) số test có mọi phần tử của dãy số \((b)\) đều bằng \(0\).
\(30\%\) số test có \(n \le 1000\).
Ví dụ
Đầu vào:
3 3
14 3 9
3 2 1
Đầu ra:
18
Ta xây dựng dãy \((c): 14, 5, 10\) và chọn \(i_1 = 1, i_2 = 3, i_3 = 2\) để thu được giá trị nhỏ nhất là \(|c_{i_1} - c_{i_2}| + |c_{i_2} - c_{i_3}| + |c_{i_3} - c_{i_1}| = |c_1 - c_3| + |c_3 - c_2| + |c_2 - c_1| = |14 - 9| + |9 - 5| + |5 - 14| = 18\).
Comments