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<iostream>
#include<algorithm>
#define MAX 100020
#define ll long long
     
using namespace std;
     
int n, k, x, inc;
ll sol = 100000000000000000;
     
int a[MAX];
	     
int main() {
    cin.sync_with_stdio(0); cin.tie(0);
    cin.exceptions(cin.failbit);
    cin >> n >> x; k = n - x;
    for(int i=0;i<n;i++) cin >> a[i];
    for(int i=0;i<n;i++) {cin >> x; a[i]-=x;}
    sort(a, a+n);
    ll m = 0, c = 0, nc = 0, l, r;
    if(k%2) m = k / 2;
    else m = k / 2 - 1;
    int mv = a[m];
    for(int i=0;i<k;i++) c += abs(a[i]-mv);
    ll om = mv;
    sol = min(sol,c); inc++;
    for(int i=0;i<(n-k);i++) {
    	mv = a[m+inc]; inc++;
    	l = a[i]; r = a[i+k];
    	nc = c - (abs(om-l)) + (abs(mv-r));
    	if(k%2==0) nc -= (mv - om);
    	sol = min(sol,nc);
    	c = nc; om = mv;
    }
    cout << sol;
    return 0;
}
| # | 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... |