Codeforces 725D

来源:互联网 发布:淘宝宝贝库存在哪设置 编辑:程序博客网 时间:2024/06/08 17:46

把所有的队伍分成两种,一种是气球数多于自己的(当前排名比自己高的),一种是气球数不大于自己的
首先求出初始排名,然后肯定是要每次把气球给当前排名高于自己队的队伍(助人飞升),显然可以用堆维护,每次选出(t-w+1)最小的队伍
然后自己队伍的气球会减少,刷新自己的排名刷新答案并且把气球数多于自己队伍的队伍放入堆中

#include<cstdio>#include<algorithm>#include<queue>#define N 300005#define LL long long#define RG registerusing namespace std;inline LL read(){    LL a=0;int f=1;char c=getchar();    while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}    while(c>='0'&&c<='9'){a=a*10+c-'0';c=getchar();}    return a*f;}struct node{    LL t,w;    bool operator < (const node &c) const {return t>c.t;}}team[N];LL n,t,w;int ans,_d;priority_queue<LL,vector<LL>,greater<LL> >heap;int main(){    n=read()-1;    int i;    t=read(),w=read();    for(i=1;i<=n;++i)        team[i].t=read(),team[i].w=read();    sort(team+1,team+n+1);    i=1;    while(i<=n&&team[i].t>t) heap.push(team[i].w-team[i].t+1),++i;    ans=i;    while(!heap.empty())    {        LL x=heap.top();heap.pop();        if(x>t) break;        t-=x;++_d;        while(i<=n&&team[i].t>t) heap.push(team[i].w-team[i].t+1),++i;        ans=min(ans,i-_d);    }    printf("%d\n",ans);    return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 兔子不吃东西也不喝水怎么办 兔子怀孕后不爱吃东西喝水怎么办 母兔产仔无奶怎么办 仔兔十五天母兔没奶怎么办 兔子刚生下兔宝宝该怎么办 兔子不吃草超瘦怎么办 兔子喝水喝多了怎么办 狗吃了变质食物怎么办 狗崽20天没睁眼怎么办 刚生的小狗缺氧怎么办 狗狗生出来了怎么办 刚生的小狗狗死了怎么办 母狗生的死狗怎么办 狗生宝宝都死了奶水怎么办 狗狗生出来不动怎么办 兔子喝了84水怎么办 小狗喝了84水怎么办 天气热宝宝不爱喝水怎么办 狗脐带掉了出血怎么办 刚生的小狗没奶怎么办 家兔在笼子里下崽怎么办 小兔子不吃东西 精神不好怎么办 兔子要生宝宝了怎么办 宝宝让兔子咬了怎么办 兔子的右耳坏了怎么办 被小兔子咬了怎么办 打老鼠被老鼠咬了了怎么办 制作棒棒糖时木棍翘起怎么办 兔子被打后怕我怎么办 兔子后腿摔断了怎么办 兔子腿骨头断了怎么办 减肥老是控制不住吃怎么办 不爱吃主食爱吃零食怎么办 猫咪奶涨的很硬怎么办 斩魂技能乱加的怎么办 狗狗不吃东西还拉稀怎么办 狗狗拉稀不吃饭怎么办 狗狗几天不吃东西怎么办 狗狗不吃不喝怎么办 拖鞋洗了有臭味怎么办 拖鞋湿水了很臭怎么办