#include <iostream> #include <vector> #include <algorithm> using namespace std; // 定义一个结构体来存储闹钟时间 struct Alarm { int hour; int minute; int totalMinutes; // 转换为分钟数 // 构造函数,方便初始化 Alarm(int h, int m) : hour(h), minute(m) { totalMinutes = h * 60 + m; } }; int main() { int n; cin >> n; vector<Alarm> alarms; for (int i = 0; i < n; i++) { int h, m; cin >> h >> m; alarms.emplace_back(h, m); } int X; cin >> X; int A, B; cin >> A >> B; int classTime = A * 60 + B; // 筛选出能让牛牛及时到达教室的闹钟 vector<Alarm> validAlarms; for (const auto& alarm : alarms) { if (alarm.totalMinutes + X <= classTime) { validAlarms.push_back(alarm); } } // 找出最晚的起床时间 Alarm latestAlarm = validAlarms[0]; for (const auto& alarm : validAlarms) { if (alarm.totalMinutes > latestAlarm.totalMinutes) { latestAlarm = alarm; } } cout << latestAlarm.hour << " " << latestAlarm.minute << endl; return 0; }