题意:
给出学生人数M,输入M组学生ID,到机房的时间,离开机房的时间。输出最早到机房的学生的ID,空格,最后离开机房的学生的ID。(M大小未给出,就用了1e5)
AAAAAccepted code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 string name[100007]; 4 string time1[100007],time2[100007]; 5 pair<int,int>t1[100007],t2[100007]; 6 int main(){ 7 int n; 8 cin>>n; 9 for(int i=1;i<=n;++i){ 10 cin>>name[i]>>time1[i]>>time2[i]; 11 t1[i].second=t2[i].second=i; 12 t1[i].first=((time1[i][0]-'0')*10+time1[i][1]-'0')*3600+((time1[i][2]-'0')*10+time1[i][3]-'0')*60+(time1[i][4]-'0')*10+time1[i][5]-'0'; 13 t2[i].first=((time2[i][0]-'0')*10+time2[i][1]-'0')*3600+((time2[i][2]-'0')*10+time2[i][3]-'0')*60+(time2[i][4]-'0')*10+time2[i][5]-'0'; 14 } 15 sort(t1+1,t1+1+n); 16 sort(t2+1,t2+1+n); 17 cout<<name[t1[1].second]<<" "<<name[t2[n].second]; 18 return 0; 19 }