# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
100253 | pzdba | Simfonija (COCI19_simfonija) | C++14 | 156 ms | 2040 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
long long oo = 1e18;
int n, k;
int a[100001], b[100001], c[100001], d[100001];
long long solve(int x){
for(int i=1;i<=n;i++) d[i] = c[i]+x;
int l = 1, r = n, cnt = 0;
while(cnt < k){
cnt++;
if(abs(d[l]) > abs(d[r])) d[l] = 0, l++;
else d[r] = 0, r--;
}
long long ans = 0;
for(int i=1;i<=n;i++) ans += abs(d[i]);
return ans;
}
int main(){
scanf("%d%d", &n, &k);
for(int i=1;i<=n;i++) scanf("%d", &a[i]);
for(int i=1;i<=n;i++) scanf("%d", &b[i]);
for(int i=1;i<=n;i++) c[i] = a[i]-b[i];
sort(c+1, c+1+n);
int lo = -1000000, hi = 1000000;
long long ans = oo;
for(int i=0;i<100;i++){
int mid1 = lo + (hi-lo)/3;
int mid2 = hi - (hi-lo)/3;
long long result1 = solve(mid1);
long long result2 = solve(mid2);
if(result1 < result2){
ans = min(ans, result1);
hi = mid2;
}
else{
ans = min(ans, result2);
lo = mid1;
}
}
printf("%lld\n", ans);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |