JSOI2007 建筑抢修
作者:互联网
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#define maxn 250000
#define int long long
#define rep(x,y,z) for(int x = y ; x <= z ;x ++)
using namespace std ;
int n ;
struct dy{
int w , t ;
int operator < (const dy &x) const {
return t < x.t ;
}
}a[maxn] ;
int tot , ans ;
priority_queue<int>q ;
signed main() {
scanf("%lld",&n) ;
rep(i,1,n) {
scanf("%lld%lld",&a[i].w,&a[i].t) ;
}sort(a+1,a+1+n) ;
rep(i,1,n){
if(tot + a[i].w > a[i].t) {
if(a[i].w < q.top()) {
tot -= q.top() , q.pop() ;
q.push(a[i].w) ;
tot += a[i].w ;
}
}else {
ans ++ ;
q.push(a[i].w) ;
tot += a[i].w ;
}
}
cout << ans << endl ;
return 0 ;
}
标签:JSOI2007,rep,int,抢修,top,tot,include,建筑,define 来源: https://www.cnblogs.com/lyt020321/p/11637831.html