当前位置: 代码迷 >> 综合 >> HDU 2088
  详细解决方案

HDU 2088

热度:53   发布时间:2023-12-26 10:44:16.0

说明:题目的意思就是说,要把这个不平的东西填满,一共需要填多少个,所以我们首先要得到一个平均的值,然后比如说低于平均值的,就是从高的地方填过来的,不管这个高的地方有多高,反正可以填,就是对的了。代码的实现是很简单的。

#include <stdio.h>  
int main()  
{  int n, hi[51], i, sum, avg, step, flag = 0;  scanf("%d", &n);  while (n)   {  sum = 0;  avg = 0;  step = 0;  if(flag)  printf("\n");  flag = 1;  for (i = 0; i < n; i++)   {  scanf("%d", &hi[i]);  sum += hi[i];  }  avg = sum/n;  for (i = 0; i < n; i++)   {  if (avg > hi[i])   step += avg - hi[i];  }  printf("%d\n", step);  scanf("%d", &n);  }  return 0;  
}