[BZOJ1816][Cqoi2010]扑克牌

来源:互联网 发布:c语言两条竖线运算 编辑:程序博客网 时间:2024/05/01 10:04

原题地址

刷水ing…

AC code:

#include <cstdio>#include <climits>typedef long long ll;const ll N=51;ll n,m;ll c[N];bool check(ll x){    ll t=m<x?m:x;    for(ll i=1;i<=n;i++) t-=x-c[i]>0?x-c[i]:0;    return t>=0;}int main(){    scanf("%lld%lld",&n,&m);    for(ll i=1;i<=n;i++) scanf("%lld",&c[i]);    ll L=0,R=LONG_LONG_MAX>>15,M=(L+R)>>1;    while(L+1!=R){        if(check(M)) L=M;        else R=M;        M=(L+R)>>1;    }    printf("%lld\n",L);    return 0;}
0 0
原创粉丝点击