题意:给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); } }