#include #include #include #include #include #include using namespace std; int n, k; int x[100005], y[100005]; vector s1, s2; void gao(int *p, vector& V) { sort(p, p+n); V.clear(); p[n] = -1; int cnt = 1; for(int i=0; i v; void dfs(int pi, int ni, int cur) { if(pi == k || ni == v.size()) { cur += (k - pi) * abs(n); if(ans > cur) ans = cur; return ; } int sum = (ni == 0) ? 0 : v[ni-1]; if(pi == k-1) { dfs(pi+1, v.size(), cur+abs(v[v.size()-1] - sum - n)); return ; } int id = lower_bound(v.begin(), v.end(), n + sum) - v.begin(); id --; if(ni <= id && id < v.size()) dfs(pi+1, id+1, cur+abs(v[id] - sum - n)); id ++; if(ni <= id && id < v.size()) dfs(pi+1, id+1, cur+abs(v[id] - sum - n)); } int solve(vector V) { ans = 1000000; v = V; for(int i=1; i