#pragma GCC optimize("O3,Ofast")
#include <bits/stdc++.h>
//#define int long long
using namespace std;
int n , vmax , v2;
vector<int> arr;
struct Segtree{
int n;
vector<int> lzy , mn , mx;
Segtree(int _n){
n = _n;
mn.resize(n << 2);
mx.resize(n << 2);
lzy.resize(n << 2);
}
inline void push(int v){
if(lzy[v] != 0){
mn[v << 1] += lzy[v];
mn[v << 1 | 1] += lzy[v];
mx[v << 1] += lzy[v];
mx[v << 1 | 1] += lzy[v];
lzy[v << 1] += lzy[v];
lzy[v << 1 | 1] += lzy[v];
lzy[v] = 0;
}
}
void Build(const vector<int> &arr , int v , int l , int r){
if(l == r){
mn[v] = arr[l];
mx[v] = arr[l];
return ;
}
int mid = (l + r) / 2;
Build(arr , v << 1 ,l , mid);
Build(arr , v << 1 | 1 , mid + 1 , r);
mn[v] = min(mn[v << 1 | 1] , mn[v << 1]);
mx[v] = max(mx[v << 1 | 1] , mx[v << 1]);
}
int val , ql;
int findRmx(int v , int l , int r){
if(mx[v] < val || r < ql)return -1;
if(l == r)return l;
push(v);
int mid = (l + r) >> 1;
int ans = findRmx(v << 1 , l , mid);
if(ans != -1)return ans;
return findRmx(v << 1 | 1 , mid + 1 , r);
}
int findRmn(int v , int l , int r){
if(mn[v] > val || r < ql)return -1;
if(l == r)return l;
push(v);
int mid = (l + r) >> 1;
int ans = findRmn(v << 1 , l , mid);
if(ans != -1)return ans;
return findRmn(v << 1 | 1 , mid + 1 , r);
}
int L , R , d;
void update(int v , int l , int r){
if(r < L || R < l)return;
if(L <= l && r <= R){
mn[v] += d;
mx[v] += d;
lzy[v] += d;
return;
}
push(v);
int mid = (l + r) >> 1;
update(v << 1 , l , mid);
update(v << 1 | 1 , mid + 1 , r);
mn[v] = min(mn[v << 1] , mn[v << 1 | 1]);
mx[v] = max(mx[v << 1] , mx[v << 1 | 1]);
}
int pos ;
int point(int v , int l , int r){
if(l == r)return mn[v];
int mid = (l + r) >> 1;
if(mid <= pos)return point(v << 1 , l , mid);
return point(v << 1| 1, mid + 1, r);
}
};
int32_t main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout << "4 2 2";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |