Codeforces Round #274 B. Towers

2015-07-20 17:26:00 · 作者: · 浏览: 5

题目链接:http://codeforces.com/contest/479/problem/B

题意:给你n个数,最多经过k次操作(每次操作对两个数,一个数加1,另一个数减1)问在不超过k次操作的过程中,计算出n个数中最大数与最小数的差值。。。

注意这题是个特判题。。。。


思路:先升序排序,对每次操作,我们对最大和最小的两个数进行操作,操作完后又进行排序。。。如果遇到最大与最小数的差值为0就不需要再进行啦。。。。


code:

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; struct Node { int d,id; }a[110]; bool cmp(Node t1,Node t2) { return t1.d