CodeFoeces-985A

2018-05-24  本文已影响0人  ss5smi

题目

原题链接:Chess Placing

题意

给出n/2个数字。要求每个数字同时站在奇/偶位置上。问最少要挪多少才能实现。
排序后分别计算奇偶各需要多少步即可。

代码

#include<bits/stdc++.h>
using namespace std;
int main() {
    int n,s[100];
    cin>>n;
    for(int i=0;i<n/2;i++){
        cin>>s[i];
    }
    sort(s,s+n/2);
    int cnt1=0,cnt2=0,t=2;
    for(int i=0;i<n/2;i++){
        cnt1+=abs(s[i]-t);
        t+=2;
    }
    t=1;
    for(int i=0;i<n/2;i++){
        cnt2+=abs(s[i]-t);
        t+=2;
    }
    printf("%d\n",min(cnt1,cnt2));
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读