题目
![]()
解法1
点击查看代码
#include<iostream>
#include<vector>
#include<algorithm>
#include<unordered_map>
using namespace std;
struct Man{
string id;
int sin;
int sout;
};
int s2s(string s){
int pos1 = s.find(':');
int hh = stoi(s.substr(0,pos1));
string s1 = s.substr(pos1+1);
int pos2 = s1.find(':');
int mm = stoi(s1.substr(0,pos2));
int ss = stoi(s1.substr(pos2+1));
int ans = hh * 3600 + mm * 60 + ss;
return ans;
}
bool cmp1(const Man& m1, const Man& m2){
return m1.sin < m2.sin;
}
bool cmp2(const Man& m1, const Man& m2){
return m1.sout > m2.sout;
}
int main(){
int m; scanf("%d",&m);
vector<Man> v(m);
for(int i =0;i<m;i++){
cin>>v[i].id;
string in ,out;
cin>>in>>out;
v[i].sin = s2s(in);
v[i].sout = s2s(out);
}
sort(v.begin(),v.end(),cmp1);
cout<<v[0].id<<" ";
sort(v.begin(),v.end(),cmp2);
cout<<v[0].id;
return 0;
}