Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <set>
- #include <vector>
- #include <algorithm>
- #define ii make_pair
- using namespace std;
- int main()
- {
- int n;
- cin >> n;
- vector <pair<pair<int, int>, pair<int, int> > > t(n);
- vector <pair<pair<int, int>, pair<int, int> > > f(n);
- vector <string> nom(n);
- for(int i=0; i<n; i++)
- {
- cin >> nom[i];
- scanf("%d:%d.%d", &t[i].first.first, &t[i].first.second, &t[i].second.first);
- t[i].second.second = i;
- f[i].second.second = i;
- f[i].first.first = t[i].first.first;
- f[i].first.second = t[i].first.second + i*30;
- f[i].second.first = t[i].second.first;
- if(f[i].first.second > 59)
- {
- f[i].first.first += (f[i].first.second / 60);
- f[i].first.second %= 60;
- }
- }
- sort(f.begin(), f.end());
- set<string> resultados;
- pair<pair<int, int>, pair<int, int> > mejorTiempo;
- mejorTiempo = ii(ii(999999, 999999), ii(999999, 999999));
- for(int i=0; i<n; i++)
- {
- if(t[f[i].second.second] < mejorTiempo)
- {
- resultados.insert(nom[f[i].second.second]);
- mejorTiempo = t[f[i].second.second];
- }
- }
- cout << resultados.size() << endl;
- for(auto i:resultados)
- cout << i << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment