题目大意:求出最早进图书馆和最迟出图书馆的人员编号。
解题思路:无难点。
题目链接:https://www.patest.cn/contests/pat-a-practise/1006
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <stack>
#include <queue>
#include <cmath>
using namespace std;
typedef struct inAndOutInfo{
string id;
int in,out;
}inAndOutInfo;
inAndOutInfo info[10005];
int main(int argc, char** argv) {
int n;
cin >> n;
for(int i=0;i<n;++i)
{
cin >> info[i].id;
int h,m,s;
scanf("%d:%d:%d",&h,&m,&s);
info[i].in = h*3600+m*60+s;
scanf("%d:%d:%d",&h,&m,&s);
info[i].out = h*3600+m*60+s;
}
int pIn,pOut,min = 1<<30,max = -1;
for(int i=0;i<n;++i)
{
if(min > info[i].in)
{
min = info[i].in;
pIn = i;
min = info[i].in;
}
if(max < info[i].out)
{
max = info[i].out;
pOut = i;
max = info[i].out;
}
}
cout << info[pIn].id << " " << info[pOut].id << endl;
return 0;
}