Codeforces Round #274 (Div. 2) C. Exams (贪心)
2024-09-24 22:41:46
题意:给\(n\)场考试的时间,每场考试可以提前考,但是记录的是原来的考试时间,问你如何安排考试,使得考试的记录时间递增,并且最后一场考试的时间最早.
题解:因为要满足记录的考试时间递增,所以我们用结构体记录两个时间,并按第一个时间排序,然后遍历考试时间,\(ans\)记录上次考试的时间,我们每次将两个时间和\(ans\)比一下,如果提前考试的时间比\(ans\)小,说明我们一定不能提前考试(因为时间已经晚了),否则就提前考掉.
代码:
struct misaka{
int a,b;
bool operator < (const misaka &mikoto) const{
if(a==mikoto.a) return b<mikoto.b;
return a<mikoto.a;
}
}e[N]; int n; int main() {
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
n=read();
for(int i=1;i<=n;++i) e[i].a=read(),e[i].b=read(); sort(e+1,e+1+n);
int ans=0; for(int i=1;i<=n;++i){
if(e[i].b>=ans) ans=e[i].b;
else ans=e[i].a;
} printf("%d\n",ans); return 0;
}
最新文章
- 深入java集合学习2-ArrayList的实现原理
- 在VS中添加lib库的三种方法
- 在Ubuntu14.04安装torch7笔记
- WPF自定义控件与样式(10)-进度控件ProcessBar自定义样
- 叫板OpenStack:用Docker实现私有云
- ffmpeg在shell循环中只执行一次问题
- qt 的简介与使用
- SQL分页存储过程——表名、返回的列、排序字段、排序类型、条件、页尺寸、页码
- 用gameMaker做个小游戏
- 资源Createwindow,对应标识符,绑定窗口
- C#中日期时间的简单操作
- ThinkPHP框架安全性能分析
- Spring中Bean的命名问题及ref和idref之间的区别
- 有二级目录的IIS配置
- JavaSE复习日记 : 算是个小前言吧
- hdu 5015 大数量反复类似操作问题/ 矩阵高速幂
- uva 11354 - Bond(树链拆分)
- Flex中处理多点触摸和手势
- 将两个列不同的DataTable合并成一个新的DataTable
- SIMD---AVX系列