Submission #102562

# Submission time Handle Problem Language Result Execution time Memory
102562 2019-03-25T23:17:24 Z Ort Simfonija (COCI19_simfonija) C++11
110 / 110
47 ms 896 KB
#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
1 Correct 1 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 808 KB Output is correct
2 Correct 30 ms 768 KB Output is correct
3 Correct 27 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 30 ms 768 KB Output is correct
2 Correct 29 ms 768 KB Output is correct
3 Correct 26 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 768 KB Output is correct
2 Correct 34 ms 740 KB Output is correct
3 Correct 25 ms 740 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 768 KB Output is correct
2 Correct 24 ms 768 KB Output is correct
3 Correct 26 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 732 KB Output is correct
2 Correct 40 ms 768 KB Output is correct
3 Correct 29 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 28 ms 768 KB Output is correct
2 Correct 42 ms 768 KB Output is correct
3 Correct 30 ms 736 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 888 KB Output is correct
2 Correct 45 ms 768 KB Output is correct
3 Correct 33 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 35 ms 768 KB Output is correct
2 Correct 32 ms 768 KB Output is correct
3 Correct 47 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 26 ms 768 KB Output is correct
2 Correct 28 ms 896 KB Output is correct
3 Correct 32 ms 780 KB Output is correct