CF479C
题目描述(翻译)
Valera 是大学的本科生。他的期末考试即将来临,他必须要通过恰好
根据考试时间表,他可以在第
Valera 认为,如果记录册中的记录不按照非递减的日期排序,那将会很奇怪。因此,他请你帮助他。找到当 Valera 按照非递减的日期顺序进行考试时,他可以进行最后一门考试的最小日期。
题目分析
Valera 需要按照非递减日期的顺序进行考试,所以我们需要找到最早可以进行最后一门考试的日期。
我们可以对考试时间表中的考试按照开始时间进行排序。
然后,我们用一个变量 lastExam
来记录最后一门考试的时间。我们从第一门考试开始,将其结束时间存储在 lastExam
中。
接下来,我们遍历剩余的考试,如果当前考试的结束时间不小于 lastExam
,则将 lastExam
更新为当前考试的结束时间;否则将 lastExam
更新为当前考试的开始时间(即在老师允许的最早时间进行考试)。
最后,输出最后一门考试的时间 lastExam
。
C++ 代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n;
int main() {
cin >> n;
vector < pair < int, int > > exam(n);
for (int i = 0; i < n; i++) {
cin >> exam[i].first >> exam[i].second;
}
sort(exam.begin(), exam.end());
int last = exam[0].second;
for (int i = 1; i < n; i++) {
if (exam[i].second >= last) {
last = exam[i].second;
} else {
last = exam[i].first;
}
}
cout << last << endl;
return 0;
}
AC 记录
本文来自一名初中牲,作者:To_Carpe_Diem
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!