Cho hai dãy số nguyên dương đều gồm \(N\) phần tử \(A_1, A_2, \ldots, A_N\) và \(B_1, B_2, \ldots, B_N\). Một tập con \(S(K)\) được xác định là bộ chỉ số \((i_1, i_2, \ldots, i_K)\) với \(i_x \ne i_y\) (\(x \ne y\)).
Giá trị của tập \(S(K)\) là:
$
\min(A_{i_1}, A_{i_2}, \ldots, A_{i_K}) + B_{i_1} + B_{i_2} \ldots + B_{i_K}.
$
Cho trước \(K\), hãy xác định giá trị lớn nhất của tập \(S(K)\).
\InputFile
Gồm \(tc\) (\(tc \le 10\)) bộ test, mỗi bộ test có dạng như sau:
- Dòng đầu tiên gồm hai số nguyên dương \(N, K\) (\(K \le N\)).
- Dòng thứ hai gồm \(N\) số nguyên dương \(A_1, A_2, \ldots, A_N\). \((A_i \le 10^8)\)
- Dòng thứ ba gồm \(N\) số nguyên dương \(B_1, B_2, \ldots, B_N\). \((B_i \le 10^8)\)
\OutputFile
- In ra một số nguyên duy nhất là giá trị lớn nhất của \(S(K)\).
\Scoring
- Subtask 1 (30%): \(K \le N \le 20\)
- Subtask 2 (30%): \(K \le N \le 2000\)
- Subtask 3 (40%): \(K \le N \le 100000\)
Example
Test 1
Input
1
5 2
3 7 8 6 2
9 8 1 2 10
Output
21
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.