Pagini recente » Cod sursa (job #2408407) | Cod sursa (job #1343781) | Cod sursa (job #1985000) | Cod sursa (job #2061701) | Cod sursa (job #2587711)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("permutare2.in");
ofstream fout("permutare2.out");
const int NMAX = 1e5;
int v[NMAX + 1], n, m;
long long solve( long long l ) {
long long ans = 0;
for( int i = 1; i <= n; i ++ )
ans += min(abs(1LL * v[i] - l), min(m - v[i] + l, v[i] + m - l) );
return ans;
}
/*long long cb( int x ) {
long long pas = 1<<29;
int r = x;
while( pas ) {
pas /= 2;
if( r + pas <= m && solve(r + pas - 1) >= solve(r + pas) )
r += pas;
}
return r;
}*/
int main() {
fin>>m>>n;
int x;
for( int i = 1; i <= m; i ++ )
fin>>x;
v[1] = 0;
for( int i = 2; i <= n; i ++ )
fin>>v[i];
sort( v + 1, v + n + 1 );
long long ans = solve(v[n / 2]);
if( n % 2 == 0 ) {
ans = min(ans, solve(v[n / 2 - 1]));
}
fout<<ans;
return 0;
}