水题  先排序 找出人数最少的  然后计算出(除了最少的人数的)每种语言人数与总人数的差  然后比较最少的人数 能否填满这些空  

#include <algorithm>
#include <cstring>
#include <cstdio>

using std::sort;
long long a[22];
int main()
{
    long long n,k;
    memset(a, 0, sizeof(a));
    scanf("%I64d %I64d",&n,&k);
    for(int i=0; i<k; i++)
        scanf("%I64d",&a[i]);
    sort(a,a+k);
    long long sum=0;
    for(int i=1; i<k; i++)
        sum+=(n-a[i]);
    if(sum>=a[0])
     puts("0");
    else
    printf("%I64d\n",a[0]-sum);
    return 0;
}
View Code

 

posted on 2013-08-04 13:30  风流monkey  阅读(132)  评论(0)    收藏  举报