C.Chips Moving(codeforce1213/A)

题意:给n个木片,放在坐标Xi上,要将所有木片移动到同一个坐标, 使得花费最少。

有两种移法:1、每次移动2个位置不用花钱 。2、每次移动1个位置花1块钱。

思路:先把所有数%2,移动到1和0的位置,这些步骤不用花钱。

再比较1位置的木片和0位置的木片

将较少一边的移动到另一边即花费最少。

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    int n,x[110],i,sum1,sum2;
    while(~scanf("%d",&n))
    {
        sum1=sum2=0;
        for(i=0;i<n;i++)
        {
            scanf("%d",&x[i]);
            x[i]=x[i]%2;
        }
        for(i=0;i<n;i++)
        {
            if(x[i]%2==1)
                sum1++;
            else
                sum2++;
        }
        if(sum1>=sum2)
            printf("%d\n",sum2);
        else
            printf("%d\n",sum1);
    }
}
View Code
原文地址:https://www.cnblogs.com/DreamingBetter/p/11625119.html