Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "bits/stdc++.h"
- //speed coding
- #define mp make_pair
- #define cve(tpy) for (auto i : tpy) {for(auto j : i){cout << j << " "; }cout << "\n";} ;
- #define f first
- #define s second
- #define loop(i, x, n) for (int i = x; i < n; i++)
- #define joop(x, n) for (ll j = x; j < n; j++)
- #define lp(n) for (ll i = 0; i < n; i++)
- #define err cout << "ERROR" << endl;
- #define all(x) x.begin(), x.end()
- #define pb push_back
- #define sz(x) x.size()
- #define rndm rng()
- // types
- #define pii pair<int, int>
- #define pll pair<ll, ll>
- #define vvi vector<vector<int>>
- #define vvll vector<vector<ll>>
- typedef long long ll;
- typedef long double ld;
- // types of data
- #define inf 1000000000
- #define infll 1000000000000000000
- #define INF ll(1e18)
- //#define md 998244353
- //#define mod 1000000009
- #define K 239017
- #define DEBUG 1
- using namespace std;
- mt19937_64 rng(113113);
- uniform_int_distribution<ll> drist;
- struct node{
- node *l, *r;
- int key, p;
- node(int x) {
- key = x;
- p = rng();
- l = 0, r = 0;
- }
- };
- node* merge(node *l, node *r){
- if(!l) return r;
- if(!r) return l;
- if(l->p > r->p){
- l->r = merge(l->r, r);
- return l;
- }else{
- r->l = merge(l, r->l);
- return r;
- }
- }
- pair<node*, node*> split(node* T, int k){
- if(!T){
- return {0, 0};
- }
- if(k > T->key){
- auto s = split(T->r, k);
- T->r = s.f;
- return {T, s.s};
- }else{
- auto s = split(T->l, k);
- T->l = s.s;
- return {s.f, T};
- }
- }
- node* insert(node* t, int x){
- node k(x);
- auto s = split(t, k.key);
- t = merge(merge(s.f, &k), s.s);
- return t;
- }
- node *remove(node* t, int x){
- auto d = split(t, x);
- d.f->r = 0;
- return merge(d.f, d.s);
- }
- void solve(){
- int n, m;
- cin >> n >> m;
- }
- int main() {
- ios::sync_with_stdio(0);
- cin.tie(0);
- #ifdef DEBUG
- freopen("text.txt", "r", stdin);
- #else
- #endif
- // int n;
- // cin >> n;
- // loop(i, 0, n){
- // solve();
- // }
- solve();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment