Advertisement
Guest User

Untitled

a guest
Mar 19th, 2023
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
  2. //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
  3.  
  4.  
  5. // #pragma GCC optimize("inline")
  6. // #pragma GCC optimize("-fgcse,-fgcse-lm")
  7. // #pragma GCC optimize("-ftree-pre,-ftree-vrp")
  8. // #pragma GCC optimize("-ffast-math")
  9. // #pragma GCC optimize("-fipa-sra")
  10. // #pragma GCC optimize("-fpeephole2")
  11. // #pragma GCC optimize("-fsched-spec")
  12. // #pragma GCC optimize("Ofast,no-stack-protector")
  13. // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
  14. // #pragma GCC optimize("unroll-loops")
  15.  
  16. #include <bits/stdc++.h>
  17.  
  18. using namespace std;
  19.  
  20. #define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  21. #define pb push_back
  22. #define sz(x) (int)x.size();
  23. #define all(x) x.begin(), x.end()
  24. #define rall(x) x.rbegin(), x.rend();
  25. #define nl '\n'
  26.  
  27. typedef long long ll;
  28. typedef long double ld;
  29. typedef pair <int, int> pii;
  30. typedef pair <ll, ll> pll;
  31.  
  32. const ll inf = 2e9;
  33.  
  34. ll q;
  35. multiset <ll> s;
  36.  
  37. ll sec(ll x, ll k){
  38.     auto it = s.upper_bound(x);
  39.     for(int i = 1; i <= k; i++){
  40.         if(it == s.begin())
  41.             return -1;
  42.         it--;
  43.     }
  44.     return *it;
  45. }
  46.  
  47. ll thir(ll x, ll k){
  48.     auto it = s.lower_bound(x);
  49.     it--;
  50.     for(int i = 1; i <= k; i++){
  51.         it++;
  52.         if(it == s.end())
  53.             return -1;
  54.     }
  55.     return *it;
  56. }
  57.  
  58. void solve(){
  59.     cin >> q;
  60.     while(q--){
  61.         ll tp, x, k;
  62.         cin >> tp;
  63.         if(tp == 1){
  64.             cin >> x;
  65.             s.insert(x);
  66.         }
  67.         else if(tp == 2){
  68.             cin >> x >> k;
  69.             cout << sec(x, k) << nl;
  70.         }
  71.         else{
  72.             cin >> x >> k;
  73.             cout << thir(x, k) << nl;
  74.         }
  75.     }
  76. }
  77.  
  78. signed main(){
  79.     speed;
  80.     int T = 1;
  81.     while(T--)
  82.         solve();
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement