标签:last int 抢修 len read P4053 ans JSOI2007 rep
首先按照结束时间排序,显然结束早的要去做。能做就做,如果做不了,就在前面找一个耗时最大的,把最大的扔掉,换成当前的,如果最大的也比当前的小,那么显然当前的是做不了的,不用管了.
struct inter {
int r, len;
bool operator <(const inter&rhs)const {
return r < rhs.r;
}
} t[N];
std::priority_queue<int> q;
int main() {
read(n);
rep(i, 1, n) {
read(t[i].len);
read(t[i].r);
}
std::sort(t + 1, t + n + 1);
int last(0), ans(0);
rep(i, 1, n) {
if(last + t[i].len > t[i].r) {
if(t[i].len < q.top()) {
last -= q.top();
last+=t[i].len;
q.pop();
q.push(t[i].len);
}
} else {
last += t[i].len;
++ans;
q.push(t[i].len);
}
}
out(ans, '\n');
return 0;
}
标签:last,int,抢修,len,read,P4053,ans,JSOI2007,rep 来源: https://www.cnblogs.com/QQ2519/p/15464759.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。