您的位置:首页 > 其它

CodeForces479C Exams(贪心)

2015-06-05 10:26 288 查看
CodeForces479C Exams(贪心)

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: