#include <iostream>
#include <algorithm>
#include <vector>
#include "grader.h"
using namespace std;
using ll = long long;
ll n, k, ans = 1e15;
vector <ll> v(1, -1e15);
vector <ll> p(1, 0);
ll sum(int l, int r) {
return p[r] - p[l - 1];
}
ll cost(ll MN) {
ll MX = MN + k;
int L = lower_bound(v.begin(), v.end(), MN) - 1 - v.begin();
int R = upper_bound(v.begin(), v.end(), MX) - v.begin();
return MN * L - sum(1, L) + sum(R, n) - MX * (n + 1 - R);
}
int main()
{
n = getN();
k = getK();
for (int i = 1; i <= n; i++) v.push_back(Data());
sort(v.begin(), v.end());
for (int i = 1; i <= n; i++) p.push_back(p[i - 1] + v[i]);
for (int i = 1; i <= n; i++) {
ans = min(ans, cost(v[i]));
ans = min(ans, cost(v[i] - k));
}
Solution(ans);
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Hibás válasz | 3ms | 1888 KiB | ||||
2 | Hibás válasz | 3ms | 2088 KiB | ||||
subtask2 | 0/20 | ||||||
3 | Hibás válasz | 3ms | 2300 KiB | ||||
4 | Hibás válasz | 3ms | 2512 KiB | ||||
5 | Hibás válasz | 3ms | 2740 KiB | ||||
6 | Hibás válasz | 3ms | 2824 KiB | ||||
7 | Hibás válasz | 3ms | 2812 KiB | ||||
8 | Hibás válasz | 3ms | 2808 KiB | ||||
subtask3 | 0/20 | ||||||
9 | Hibás válasz | 3ms | 3028 KiB | ||||
10 | Hibás válasz | 3ms | 3148 KiB | ||||
11 | Hibás válasz | 3ms | 3244 KiB | ||||
12 | Hibás válasz | 2ms | 3240 KiB | ||||
13 | Hibás válasz | 3ms | 3368 KiB | ||||
14 | Hibás válasz | 3ms | 3444 KiB | ||||
subtask4 | 0/20 | ||||||
15 | Hibás válasz | 3ms | 3468 KiB | ||||
16 | Hibás válasz | 3ms | 3540 KiB | ||||
17 | Hibás válasz | 3ms | 3544 KiB | ||||
18 | Hibás válasz | 3ms | 3676 KiB | ||||
19 | Hibás válasz | 3ms | 3780 KiB | ||||
20 | Hibás válasz | 3ms | 3760 KiB | ||||
subtask5 | 0/40 | ||||||
21 | Hibás válasz | 3ms | 3884 KiB | ||||
22 | Hibás válasz | 3ms | 4120 KiB | ||||
23 | Hibás válasz | 3ms | 4356 KiB | ||||
24 | Hibás válasz | 3ms | 4176 KiB | ||||
25 | Hibás válasz | 3ms | 4328 KiB | ||||
26 | Hibás válasz | 3ms | 4408 KiB |