首页 > 其他 > 详细

bzoj1620 / P2920 [USACO08NOV]时间管理Time Management

时间:2018-10-27 16:57:41      阅读:147      评论:0      收藏:0      [点我收藏+]

P2920 [USACO08NOV]时间管理Time Management

显然的贪心。

按deadline从大到小排序,然后依次填充时间。

最后时间为负的话那么就是无解

技术分享图片
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #define re register
 6 using namespace std;
 7 int max(int a,int b){return a>b?a:b;}
 8 struct data{
 9     int t,dl;
10     bool operator < (const data &tmp) const{return dl>tmp.dl;}
11 }a[1002];
12 int n,tt,ans;
13 int main(){
14     scanf("%d",&n);
15     for(re int i=1;i<=n;++i) scanf("%d%d",&a[i].t,&a[i].dl);
16     sort(a+1,a+n+1); tt=a[1].dl;
17     for(re int i=1;i<=n;++i){
18         tt=min(tt,a[i].dl); tt-=a[i].t;//注意在deadline前完成所以要取min
19     }tt<0 ? printf("-1"):printf("%d",tt);
20     return 0;
21 }
View Code

 

bzoj1620 / P2920 [USACO08NOV]时间管理Time Management

原文:https://www.cnblogs.com/kafuuchino/p/9862218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!