Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include <sstream>
- #include <algorithm>
- #include <vector>
- #include <stdlib.h>
- #include <stdio.h>
- #include <fstream>
- #include <stack>
- #include <map>
- #include <cstring>
- #include <cmath>
- #include <set>
- #include <iterator>
- #include <cmath>
- using namespace std;
- ostream & operator << (ostream & out, vector<int> const & v)
- {
- for(int el: v)
- out << el << ' ';
- return out;
- }
- ostream & operator << (ostream & out, const pair<pair<int, int>, string> & p)
- {
- out << '(' << (p.first).first << ',' << (p.first).second << ',' << p.second << ')';
- return out;
- }
- ostream & operator << (ostream & out, const pair<int, int> & p)
- {
- out << '(' << p.first << ',' << p.second << ')';
- return out;
- }
- int main()
- {
- int N, i, k = 0, summ = 0;
- vector<string> vec;
- string a;
- cin >> N;
- vector<pair<string, pair<int, int>>> t(N);
- vector<pair<pair<int, int>, string>> t1(N);
- for ( i = 0; i < N; ++i)
- {
- cin >> t[i].first >> (t[i].second).first >> (t[i].second).second;
- }
- for (i = 0; i < N; ++i)
- {
- (t1[i].first).first = (t[i].second).first;
- (t1[i].first).second = (t[i].second).second;
- t1[i].second = t[i].first;
- }
- vector<pair<int, int>> b(N);
- for(i = 0; i < N; ++i)
- {
- b[i] = {abs((t1[i].first).first - 180),int((t1[i].first).second > 75)*(abs((t1[i].first).second) - 75 + 1000) + int((t1[i].first).second <= 75)*(abs(((t1[i].first).second) - 75))};
- }
- vector<pair<pair<int, int>, string>> b1(N);
- for(i = 0; i < N; ++i)
- {
- (b1[i].first).first = b[i].first;
- (b1[i].first).second = b[i].second;
- b1[i].second = t1[i].second;
- }
- sort(b1.begin(), b1.end());
- for(i = 0; i < N; ++i)
- {
- cout << b1[i].second << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement