#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
typedef long long ll;
ll a[maxn], b[maxn], d[maxn], pf[maxn];
int n, k;
ll get_on(int p1, int p2) {
if(p2 < p1) return 0LL;
return pf[p2] - (p1 == 0 ? 0LL : pf[p1-1]);
}
int main()
{
cin>>n>>k;
ll sol = 0LL;
for(int i=0;i<n;i++) {
cin>>a[i];
}
for(int i=0;i<n;i++) {
cin>>b[i];
}
for(int i=0;i<n;i++) {
d[i] = a[i] - b[i];
sol += abs(d[i]);
}
sort(d,d+n);
for(int i=0;i<n;i++) {
pf[i] = (i==0 ? d[i] : pf[i-1] + d[i]);
}
for(int i=0;i<=k;i++) {
ll med = (i + i+n-k-1) / 2;
//cout<<med<<endl;
ll elol = (med-i) * d[med] - get_on(i,med-1);
//cout<<(med-i) * d[med] <<" "<< get_on(i,med-1) <<endl;
ll utan = get_on(med+1, i+n-k-1) - (i+n-k-1-med) * d[med];
//cout<<get_on(med+1, i+n-k-1) <<" "<< (i+n-k-1-med) * d[med]<<endl;
//cout<<elol<<" "<<utan<<endl;
sol = min(sol,elol+utan);
}
cout<<sol<<endl;
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
3 ms |
384 KB |
Output is correct |
3 |
Correct |
3 ms |
384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
107 ms |
4976 KB |
Output is correct |
2 |
Correct |
108 ms |
4964 KB |
Output is correct |
3 |
Correct |
85 ms |
4936 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
104 ms |
4856 KB |
Output is correct |
2 |
Correct |
99 ms |
4972 KB |
Output is correct |
3 |
Correct |
93 ms |
4984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
90 ms |
4824 KB |
Output is correct |
2 |
Correct |
77 ms |
4900 KB |
Output is correct |
3 |
Correct |
91 ms |
4856 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
57 ms |
4216 KB |
Output is correct |
2 |
Correct |
92 ms |
4984 KB |
Output is correct |
3 |
Correct |
94 ms |
4920 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
115 ms |
4952 KB |
Output is correct |
2 |
Correct |
96 ms |
4872 KB |
Output is correct |
3 |
Correct |
89 ms |
4856 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
80 ms |
4828 KB |
Output is correct |
2 |
Correct |
94 ms |
4832 KB |
Output is correct |
3 |
Correct |
125 ms |
4984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
112 ms |
4952 KB |
Output is correct |
2 |
Correct |
91 ms |
4856 KB |
Output is correct |
3 |
Correct |
99 ms |
4856 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
129 ms |
4868 KB |
Output is correct |
2 |
Correct |
89 ms |
4856 KB |
Output is correct |
3 |
Correct |
85 ms |
4856 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
91 ms |
4984 KB |
Output is correct |
2 |
Correct |
86 ms |
4860 KB |
Output is correct |
3 |
Correct |
113 ms |
4932 KB |
Output is correct |