简单的排序
#include<cstdio>
#include<algorithm>
#include<cstring>
const int maxn=1e5+5;
using namespace std;
struct node{
char name[20];
int inh,inm,ins;
int outh,outm,outs;
}Node[maxn];
bool cmp1(node a,node b){
if(a.inh!=b.inh) return a.inh <b.inh;
else if(a.inm!=b.inm) return a.inm < b.inm;
else return a.ins < b.ins;
}
bool cmp2(node a,node b){
if(a.outh!=b.outh) return a.outh > b.outh;
else if(a.outm!=b.outm) return a.outm > b.outm;
else return a.outs > b.outs;
}
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s %d:%d:%d %d:%d:%d",Node[i].name,&Node[i].inh,&Node[i].inm,&Node[i].ins,&Node[i].outh,&Node[i].outm,&Node[i].outs);
}
sort(Node,Node+n,cmp1);
printf("%s ",Node[0].name);
sort(Node,Node+n,cmp2);
printf("%s\n",Node[0].name);
return 0;
}

京公网安备 11010502036488号