Advertisement
7atoom

Untitled

Mar 30th, 2023
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #include <ext/pb_ds/assoc_container.hpp>
  3. #include <ext/pb_ds/tree_policy.hpp>
  4. #include <ext/rope>
  5. #include <numeric>
  6.  
  7. using namespace __gnu_cxx;
  8. using namespace std;
  9. using namespace __gnu_pbds;
  10. #define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
  11. #define multi_ordered_set tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
  12. #define ll long long
  13. // #define tolower(s) transform(s.begin(), s.end(), s.begin(), ::tolower)
  14. #define midpoint(l, r) l + (r - 1) / 2
  15. #define cy cout << "YES"
  16. #define cn cout << "NO"
  17. #define PI 3.142857
  18. #define NumOfDig(w) log10(w) + 1
  19. #define sz(x) int(x.size())
  20. #define fixed(n) fixed << setprecision(n)
  21. #define cin_vec(i, n) for (int i = 0, entry; i < n && cin >> entry; i++)
  22. #define M 1e18
  23. #define cin(v) \
  24. for (auto &i : v) \
  25. cin >> i;
  26. #define cout(v) \
  27. for (auto &i : v) \
  28. cout << i << " ";
  29. #define remove_Dublicates(v) v.erase(unique(v.begin(), v.end()), v.end());
  30. #define area_of_triangle sqrt((sum / 2) * (sum / 2 - arr[0]) * (sum / 2 - arr[1]) * (sum / 2 - arr[2]))
  31. #define ed "\n"
  32. #define OO 2'000'000'000
  33. #define MOD 1'000'000'007
  34. #define all(s) s.begin(), s.end()
  35. #define rall(s) s.rbegin(), s.rend()
  36. #define pb push_back
  37. const ll mod = 999983;
  38. #define prefix(v) partial_sum(all(v), v.begin());
  39. using namespace std;
  40.  
  41. template <typename T = int>
  42. istream &operator>>(istream &in, vector<T> &v)
  43. {
  44. for (auto &x : v)
  45. in >> x;
  46. return in;
  47. }
  48.  
  49. template <typename T = int>
  50. ostream &operator<<(ostream &out, const vector<T> &v)
  51. {
  52. for (const T &x : v)
  53. out << x << " ";
  54. return out;
  55. }
  56.  
  57. template <typename T>
  58. bool is_equal(std::vector<T> const &v)
  59. {
  60. if (v.size() == 0)
  61. {
  62. return false;
  63. }
  64.  
  65. for (int i = 1; i < v.size(); i++)
  66. {
  67. if (v[0] != v[i])
  68. {
  69. return false;
  70. }
  71. }
  72.  
  73. return true;
  74. }
  75.  
  76. /*
  77. ███████╗░█████╗░████████╗░█████╗░░█████╗░███╗░░░███╗
  78. ╚════██║██╔══██╗╚══██╔══╝██╔══██╗██╔══██╗████╗░████║
  79. ░░░░██╔╝███████║░░░██║░░░██║░░██║██║░░██║██╔████╔██║
  80. ░░░██╔╝░██╔══██║░░░██║░░░██║░░██║██║░░██║██║╚██╔╝██║
  81. ░░██╔╝░░██║░░██║░░░██║░░░╚█████╔╝╚█████╔╝██║░╚═╝░██║
  82. ░░╚═╝░░░╚═╝░░╚═╝░░░╚═╝░░░░╚════╝░░╚════╝░╚═╝░░░░░╚═╝
  83. */
  84.  
  85. void hatoom()
  86. {
  87. ios_base ::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  88. #ifndef ONLINE_JUDGE
  89. freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
  90. #endif
  91. }
  92.  
  93. struct player
  94. {
  95. int id;
  96. int points;
  97.  
  98. bool operator<(const player &other) const
  99. {
  100. if (points == other.points)
  101. {
  102. return id < other.id;
  103. }
  104. return points > other.points;
  105. }
  106. };
  107.  
  108. void solve()
  109. {
  110. ll n, c;
  111. cin >> n >> c;
  112.  
  113. multiset<player> s;
  114.  
  115. for (int i = 1; i <= n; i++)
  116. {
  117. s.insert({i, 0});
  118. }
  119.  
  120. int p1 = 0, p2 = 0;
  121. for (int i = 0; i < c; i++)
  122. {
  123. int player1, player2, points1, points2;
  124. cin >> player1 >> player2 >> points1 >> points2;
  125.  
  126. auto it1 = s.find({player1, p1});
  127. p1 = it1->points + points1;
  128. s.erase(it1);
  129. s.insert({player1, p1});
  130. auto it2 = s.find({player2, p2});
  131. p2 = it2->points + points2;
  132. s.erase(it2);
  133. s.insert({player2, p2});
  134.  
  135. int cnt = 0;
  136. for (auto it = s.begin(); it != s.end(); it++)
  137. {
  138. if (cnt == 2)
  139. break;
  140. cout << it->id << " ";
  141. cnt++;
  142. }
  143.  
  144. cout << ed;
  145. }
  146. }
  147.  
  148. int main()
  149. {
  150. hatoom();
  151. ios_base ::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  152. // freopen("input.txt", "r", stdin);
  153. // freopen("output.txt" ,"w",stdout);
  154. ll t = 1;
  155. // cin >> t;
  156. while (t--)
  157. {
  158. solve();
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement