简单的暴力。 所有羊腿要么都在 A
上,要么都在
B
上。所以分别计算把所有羊腿放在
A
上的最小步数和放 在 B
上的最小步数,取最小值即可。
具体操作:
1
代码:
#include <bits/stdc++.h>
using namespace std;
long long n,a[1000001],t1,t2;
int main()
{
cin>>n;
for(int i = 1;i <= n / 2;i++) cin>>a[i];
sort(a + 1,a + n / 2 + 1);
for(int i = 1;i <= n / 2;i++)
{
t1 += abs(a[i] - (2 * i - 1));
t2 += abs(a[i] - 2 * i);
}
cout<<min(t1,t2);
return 0;
}