1024: 学霸猫
题目描述
在我认识它的时候,它就已经叫学霸猫了,虽然我不知道它名字的由来,但在石大这种地方被冠以学霸之名。它经常会光顾正在上课的教室,并跟同学们一起耐心听讲,学校的教学楼、机房里到处都留下它的倩影,相信它将来会成为一个Doctor Cat。有心的同学记录下了它出现的课堂名称和出现时间。聪明的学霸猫是非常擅长学习的,即使在打盹的时候,也是在学习。它在某个课堂停留的时间越长,学习效果就越好。请你计算一下它哪门课学的最好吧(我不会告诉你它经常去听金老师的高等数学哟)。
输入
输入有多行。
每行包含三个数据,分别表示课堂名称(长度不超过30个字符),学霸猫的出现时间和离开时间,这两个时间都是指同一天。课堂名称保证不重复。
输出
输出学霸猫学习效果最好的一门课的名称和时长(具体格式见样例输出),占一行,两个数据间以空格分隔,末尾没有空格。
样例输入 Copy
programming 14:00 15:30
math 8:00 8:10
样例输出 Copy
programming 1:30
#include<iostream>
#include<algorithm>
using namespace std;
char name[35];
string st;
int a,b,c,d,e,f,sum;
int main()
{
while(scanf("%s %d:%d %d:%d",name,&a,&b,&c,&d)!=EOF){
if(d-b<0){
c--;if(sum<(c-a)*60+60+d-b){
f=60+d-b;e=c-a;sum=f+e*60;st=name;}}else{
if(sum<(c-a)*60+d-b){
f=d-b;e=c-a;sum=f+e*60;st=name;}} }cout<<st<<" "<<e<<":"<<f;return 0;
}