牛牛的闹钟

题目:

牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床。从他起床算起他需要X分钟到达教室,上课时间为当天的AB分,请问他最晚可以什么时间起床

输入描述:

每个输入包含一个测试用例。 
每个测试用例的第一行包含一个正整数,表示闹钟的数量N。 
接下来的N行每行包含两个整数,表示这个闹钟响起的时间为分。 
接下来的一行包含一个整数,表示从起床算起他需要分钟到达教室。 
接下来的一行包含两个整数,表示上课时间为时分。 
数据保证至少有一个闹钟可以让牛牛及时到达教室。

输出描述:

输出两个整数表示牛牛最晚起床时间。

样例:

in:
3 
5 0 
6 0 
7 0 
59 
6 59

out:
6 0

 

注意到校时间-x后的处理即可。

 

AC代码:

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 struct node{
 5     int a,b;
 6 }a[110],temp,res;
 7 
 8 int cmp(node a,node b){
 9     if(a.a==b.a)
10     return a.b<b.b;
11     else
12     return a.a<b.a;
13 }
14 
15 int main(){
16     int n,t;
17     cin>>n;
18     for(int i=0;i<n;i++){
19         cin>>a[i].a>>a[i].b;
20     }
21     cin>>t;
22     cin>>temp.a>>temp.b;
23     sort(a,a+n,cmp);
24     temp.b-=t;
25     if(temp.b<0){
26         int x=0-temp.b;
27         temp.a-=x/60+1;
28         temp.b=60-x%60;
29     }
30     //cout<<temp.a<<" "<<temp.b<<endl;
31     for(int i=n-1;i>=0;i--){
32         if(a[i].a<temp.a||a[i].a==temp.a&&a[i].b<=temp.b){
33             cout<<a[i].a<<" "<<a[i].b<<endl;
34             break;
35         }
36     }
37     return 0;
38 }
复制代码

 

posted @   Kiven#5197  阅读(661)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
点击右上角即可分享
微信分享提示