每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)。
接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0<=A<24)时Mi(0<=B<60)分。
接下来的一行包含一个整数,表示从起床算起他需要X(0<=X<=100)分钟到达教室。
接下来的一行包含两个整数,表示上课时间为A(0<=A<24)时B(0<=B<60)分。
数据保证至少有一个闹钟可以让牛牛及时到达教室。
输出两个整数表示牛牛最晚起床时间。
3 5 0 6 0 7 0 59 6 59
6 0
//单位转换 遍历数组 clockArr[j]> 上课时间schoolTimeMax - 赶路时间x
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
let inArr = []
rl.on('line', line=>{
if(!line) return
inArr.push(line.trim())
let len = inArr.length
let n = +inArr[0] //n: alarm number
if(len == n+3){
let x = inArr[len-2] //x: 起床到教室需要X(0<=X<=100)分钟
let schoolTime = inArr[len-1].trim().split(' ') //schoolTime:上学时间(h,m)
let schoolTimeMax = +(schoolTime[0])*60 + +(schoolTime[1])
let clockArr = []; //clockArr: n行 data
//遍历 n行闹钟数的 data
for(let i=0;i<n;i++){
let clock = inArr[i+1].trim().split(' ')
clockArr[i] = +(clock[0])*60 + +(clock[1])
}
clockArr.sort((a,b)=>a-b)
for(let j=clockArr.length-1;j>=0;j--){
if(clockArr[j] > (schoolTimeMax-x)) continue
else {
console.log(Math.floor(clockArr[j] / 60), clockArr[j] % 60)
break
}
}
}
})