【链接】:
【题意】:给你n和n/2个数ai,每个ai和奇数、偶数比较距离(注意选了奇数,偶数的距离就不要算了,反之同理),求最小的答案。 【代码】:#include#include #include #include using namespace std;#define N 100010#define M 2005const int INF = 0x3f3f3f3f;#define rep(i,a,b) for(int i=(a); i<(b); i++)#define ll long longint n,m,x,y;int a[120];int main(){ int ans=0,x=0,y=0; scanf("%d",&n); n/=2; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); //必须排序QAQ for(int i=1;i<=n;i++) { x += abs(2*i-1 - a[i]); y += abs(2*i - a[i]); //printf("odd=%d even=%d ai=%d\n",2*i-1,2*i,a[i]); //printf("%d %d\n",2*i-1 - a[i], 2*i - a[i]); } //printf("x=%d y=%d\n",x,y); printf("%d\n",min(x,y));}