Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- █████████████.....██████....██.........█....██████████....██.........██.
- ██.........██.......██......█.█........█....██......██.....██.......██..
- ██.........██.......██......█..█.......█....██......██......██.....██...
- ██.........██.......██......█...█......█....██......██.......██...██....
- ██.........██.......██......█....█.....█....██......██........██.██.....
- ██.........██.......██......█.....█....█....██......██.........███......
- █████████████.......██......█.....█....█....██████████.........███......
- ██..................██......█......█...█....██......██.........███......
- ██..................██......█......█...█....██......██.........███......
- ██..................██......█.......█..█....██......██.........███......
- ██..................██......█.......█..█....██......██.........███......
- ██..................██......█........█.█....██......██.........███......
- ██..................██......█........█.█....██......██.........███......
- ██................██████....█.........██....██......██.........███......
- ЗАПУСКАЕМ
- ░ГУСЯ░▄▀▀▀▄░РАБОТЯГУ░░
- ▄███▀░◐░░░▌░░░░░░░
- ░░░░▌░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▐░░░░░▐░░░░░░░
- ░░░░▌░░░░░▐▄▄░░░░░
- ░░░░▌░░░░▄▀▒▒▀▀▀▀▄
- ░░░▐░░░░▐▒▒▒▒▒▒▒▒▀▀▄
- ░░░▐░░░░▐▄▒▒▒▒▒▒▒▒▒▒▀▄
- ░░░░▀▄░░░░▀▄▒▒▒▒▒▒▒▒▒▒▀▄
- ░░░░░░▀▄▄▄▄▄█▄▄▄▄▄▄▄▄▄▄▄▀▄
- ░░░░░░░░░░░▌▌░▌▌░░░░░
- ░░░░░░░░░░░▌▌░▌▌░░░░░
- ░░░░░░░░░▄▄▌▌▄▌▌░░░░░
- */
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <iomanip>
- #include <tuple>
- #include <math.h>
- #include <set>
- #include <stack>
- #include <bitset>
- #include <map>
- #include <queue>
- #include <random>
- //#define DEBUG
- #define pqueue priority_queue
- #define pb(x) push_back(x)
- #define all(x) x.begin(), x.end()
- #define int long long
- #define mk(a, b) make_pair(a, b)
- //#define x first;
- //#define y second;
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef long double ld;
- typedef vector<int> vi;
- typedef vector<vector<int> > vvi;
- typedef vector<ull> vull;
- typedef vector<ll> vll;
- typedef tuple<int, int, int> tiii;
- typedef pair<int, int> pii;
- typedef vector<pair<int, int> > vpii;
- typedef vector<bool> vb;
- typedef vector<string> vs;
- typedef vector< vector<int> > vvi;
- typedef vector<char> vc;
- const int INF = 1e9;
- const ll INFLL = 1e12;
- const int MOD = 1000000007;
- const ld eps = 1e-6;
- const int MOD2 = (1<<30)+1;
- const int dosz = 5e5;
- void fast_io(){
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- #ifdef DEBUG
- // freopen("a.in", "r", stdin);
- #else
- // freopen("rsq2.in", "r", stdin);
- // freopen("rsq2.out", "w", stdout);
- #endif
- }
- struct tree{
- int lb, rb;
- int sum = 0;
- tree *l = 0, *r = 0;
- tree (int _lb, int _rb){
- lb = _lb, rb = _rb;
- }
- void extend(){
- if(!l && lb+1<rb) {
- int mid = (lb + rb) / 2;
- l = new tree(lb, mid);
- r = new tree(mid, rb);
- }
- }
- void add(int k, int x){
- extend();
- sum += x;
- if(l){
- if(k<l->rb)
- l->add(k, x);
- else
- r->add(k, x);
- }
- }
- int get_sum(int lq, int rq){
- if(lq<=lb && rb<=rq)
- return sum;
- else if(max(lq, lb)>=min(rq, rb))
- return 0;
- extend();
- return l->get_sum(lq, rq)+r->get_sum(lq, rq);
- }
- };
- void solve(){
- tree kek = tree(0, 1e18);
- kek.add(1e7, 1e5);
- cout << kek.get_sum(0, 1e6) << endl;
- cout << kek.get_sum(0, 1e9) << endl;
- }
- signed main() {
- fast_io();
- int q = 1;
- while(q--){
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement