分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

[JSOI2007]建筑抢修 优先队列 贪心

发布时间:2023-09-06 02:21责任编辑:沈小雨关键词:暂无标签

Code:

#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;#define maxn 200000+4#define ll long longstruct WORK{ ?int cost,ed ; }work[maxn];bool cmp(WORK a,WORK b){ return a.ed<b.ed; }priority_queue<ll>Q;int main(){ ???//freopen("input.in","r",stdin); ???int n,ans=0; ???ll total=0; ???scanf("%d",&n); ???for(int i=1;i<=n;++i) scanf("%d%d",&work[i].cost,&work[i].ed); ???sort(work+1,work+1+n,cmp); ???for(int i=1;i<=n;++i){ ???????if(total+work[i].cost<=work[i].ed) ++ans, Q.push(work[i].cost), total+=work[i].cost; ???????else if(work[i].cost<Q.top()) total-=Q.top(),total+=work[i].cost,Q.pop(),Q.push(work[i].cost); ???} ???printf("%d",ans); ???return 0;}

[JSOI2007]建筑抢修 优先队列 贪心

原文地址:https://www.cnblogs.com/guangheli/p/9916951.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved