Advertisement
ke_timofeeva7

выборы

Jun 5th, 2021
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4. #include <cmath>
  5. #include <algorithm>
  6. #include <memory.h>
  7. #include <stdio.h>
  8. #include <stack>
  9. #include <deque>
  10. #include <queue>
  11. #include <vector>
  12. #include <set>
  13. #include <iterator>
  14. #include <map>
  15. #include <iomanip>
  16. #include <unordered_set>
  17. #define int long long
  18. #define sp system("pause")
  19. #define pb push_back
  20. #define double long double
  21. #define endl "\n"
  22. #define un unsigned
  23. #define INF 1000000009
  24. #define pii pair<int, int>
  25. #define all(v) v.begin(), v.end()
  26. using namespace std;
  27.  
  28. int n1;
  29.  
  30. istream& operator >> (istream& in, vector<int>& a)
  31. {
  32.     for (int i = 0; i < n1; i++)
  33.     {
  34.         in >> a[i];
  35.     }
  36.  
  37.     return in;
  38. }
  39.  
  40. ostream& operator << (ostream& out, vector<char>& a)
  41. {
  42.     for (int i = n1 - 1; i > -1; i--)
  43.     {
  44.         out << a[i];
  45.     }
  46.  
  47.     return out;
  48. }
  49.  
  50. signed main()
  51. {
  52.     ios_base::sync_with_stdio(0);
  53.     cin.tie();
  54.     cout.tie();
  55.     cout.precision(7);
  56.  
  57.     int n;
  58.     cin >> n;
  59.  
  60.     map<string, int> mp;
  61.  
  62.     for (int i = 0; i < n; i++)
  63.     {
  64.         string s;
  65.         int k;
  66.         cin >> s >> k;
  67.  
  68.         mp[s] = k;
  69.     }
  70.  
  71.     int m = 0;
  72.     //cin >> m;
  73.  
  74.     map<string, map <string, int>> gol;
  75.  
  76.     string a, b;
  77.  
  78.     while(cin >> a)
  79.     {
  80.         cin >> b;
  81.  
  82.         gol[a][b]++;
  83.  
  84.         m++;
  85.     }
  86.  
  87.     map<string, int> kon;
  88.  
  89.     for (auto i : gol)
  90.     {
  91.         int kol = 0;
  92.         string name = "";
  93.  
  94.         for (pair<string, int> j : i.second)
  95.         {
  96.             if (j.second > kol)
  97.             {
  98.                 name = j.first;
  99.                 kol = j.second;
  100.             }
  101.  
  102.             kon[j.first] += 0;
  103.         }
  104.  
  105.         kon[name] += mp[i.first];
  106.     }
  107.  
  108.     set<pair<int, string>> ans;
  109.  
  110.     for (auto i : kon)
  111.     {
  112.         ans.insert({ i.second, i.first });
  113.     }
  114.  
  115.     auto it = ans.end();
  116.     it--;
  117.  
  118.     for (; it != ans.begin(); it--)
  119.     {
  120.         auto i = *it;
  121.  
  122.         cout << i.second << " " << i.first << endl;
  123.     }
  124.  
  125.     cout << (*ans.begin()).second << " " << (*ans.begin()).first;
  126.  
  127.     return 0;
  128. }
  129.  
  130.  
  131.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement