- #include
- #include
- #include
- #include
- #include using namespace std;
- #definemaxn 150005#definell long longstruct BuildingType {
- ll lit,time;
- };
- struct BuildingType ai[maxn];
- ll n,sum,ans;
- inline void in(ll &now)
- {
- charCget=getchar();now=0;
- while(Cget>'9'||Cget<'0') Cget=getchar();
- while(Cget>='0'&&Cget<='9')
- {
- now=now*10+Cget-'0';
- Cget=getchar();
- }
- }
- bool cmp(BuildingType aa,BuildingType bb)
- {
- if(aa.lit==bb.lit)returnaa.time<bb.time;
- else returnaa.lit<bb.lit;
- }
- priority_queueque;
- int main()
- {
- in(n);
- for(ll i=1;i<=n;i++)in(ai[i].time),in(ai[i].lit);
- sort(ai+1,ai+n+1,cmp);
- for(ll i=1;i<=n;i++)
- {
- if(sum+ai[i].time<=ai[i].lit) que.push(ai[i].time),sum+=ai[i].time,ans++;
- else
- {
- if(que.empty())continue;
- if(ai[i].timeai[i].time;
- }
- }
- printf("%lld\n",ans);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2072814.html