CodeForces479C Exams(贪心)
2015-06-05 10:26
288 查看
CodeForces479C Exams(贪心)
CodeForces479C
题目大意:
有位同学参加N门考试,他希望能够提前的结束这N门考试,所以和各门科目的老师协商了一下,换一天考试Ai,然后他又希望成绩的录入时间是非递减的,成绩的录入时间是按照科目原本的考试时间。求最后一门科目的结束时间,越早越好。
解题思路:
将原本的考试时间按照时间先后排序,如果两门课在同一天,那么自然是和老师协商的新的时间小的放前面,这样才能在满足录入时间非递减的情况下达成结束时间越早的目标。
代码:
CodeForces479C
题目大意:
有位同学参加N门考试,他希望能够提前的结束这N门考试,所以和各门科目的老师协商了一下,换一天考试Ai,然后他又希望成绩的录入时间是非递减的,成绩的录入时间是按照科目原本的考试时间。求最后一门科目的结束时间,越早越好。
解题思路:
将原本的考试时间按照时间先后排序,如果两门课在同一天,那么自然是和老师协商的新的时间小的放前面,这样才能在满足录入时间非递减的情况下达成结束时间越早的目标。
代码:
#include <cstdio> #include <algorithm> using namespace std; const int maxn = 5005; struct exam { int a, b; }e[maxn]; int cmp(const exam& e1, const exam& e2) { if (e1.a != e2.a) return e1.a < e2.a; return e1.b < e2.b; } int main () { int N; while (scanf("%d", &N) != EOF ) { for (int i = 0; i < N; i++) scanf ("%d%d", &e[i].a, &e[i].b); sort(e, e + N, cmp); int ans = 0; for (int i = 0; i < N; i++) { if (ans <= e[i].b) ans = e[i].b; else ans = e[i].a; } printf ("%d\n", ans); } return 0; }
相关文章推荐
- Android 4.4前后版本读取图库图片和拍照完美解决方案
- file_get_contents与curl的比较
- Android 布局 fill_parent、wrap_content和match_parent的区别和作用
- Js、css代码文件规范
- iOS 绘图详解
- eval、json.parse()的介绍和使用注意点
- 58数据库重建表空间记录
- 易语言软件加VMProtect壳的正确方法
- mysql多表查询、子查询
- 基于python 的性能测试工具
- java基础—泛型简述
- Android属性动画完全解析(上),初识属性动画的基本用法
- 50.单项链表逆置
- Java实例变量初化顺序
- 【【分享】深入浅出WPF全系列教程及源码 】
- js中调用函数时加不加括号的问题
- 项目管理——随笔 2015.06.05
- AfxMessageBox和MessageBox区别
- iOS 6导入PCH,开发必备
- Project Euler:Problem 43 Sub-string divisibility