Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define PB push_back
- #define ZERO (1e-10)
- #define INF (1<<29)
- #define CL(A,I) (memset(A,I,sizeof(A)))
- #define DEB printf("DEB!\n");
- #define D(X) cout<<" "<<#X": "<<X<<endl;
- #define EQ(A,B) (A+ZERO>B&&A-ZERO<B)
- typedef long long ll;
- typedef long double ld;
- typedef pair<ll,ll> pll;
- typedef vector<int> vi;
- typedef pair<int,int> ii;
- typedef vector<ii> vii;
- #define IN(n) int n;scanf("%d",&n);
- #define FOR(i, m, n) for (int i(m); i < n; i++)
- #define REP(i, n) FOR(i, 0, n)
- #define F(n) REP(i, n)
- #define FF(n) REP(j, n)
- #define FT(m, n) FOR(k, m, n)
- #define aa first
- #define bb second
- void ga(int N,int *A){F(N)scanf("%d",A+i);}
- ll H[1<<20],W;
- struct sX{
- ll *p;
- int N;
- void ini(int n){
- N=1<<(int(log2(n)-ZERO)+1),p=H+W,W+=N*2;//just init - nesetuje se nic.. to proste pak dej pomoci "st", jen to bude log(N) krat pomalejsi
- F(N<<1)p[i]=INF;//init val
- }
- //Nasetuje hodnotu na segmentu
- void st(int b,int e,ll v){st(b,e,v,1,0,N-1);}//b==Zacatek co hledas | e==Konec segmentu | v=hodnota
- //B,E == zacatek/konec segmentu v aktualni rekurzy
- void st(int b,int e,ll v,int u,int B,int E){
- if(B>e||E<b)return;//Pokud se neprekryva aktualni/chteny segment
- //Zajima nas v podstate case B==E!
- if(b<=B&&e>=E){p[u]=v;return;}//pokud se pokud je aktualni segment podmnozinou chteneho segmentu
- st(b,e,v,u<<1,B,(B+E)>>1),st(b,e,v,u<<1|1,(B+E)/2+1,E);//call both branches
- p[u]=min(p[u<<1],p[u<<1|1]);//update value on minimum
- }
- ll gt(int b,int e){return gt(b,e,1,0,N-1);}//get minimum
- ll gt(int b,int e,int u,int B,int E){
- if(B>e||E<b)return INF;//fail value → pokud se segmenty neprekryvaji
- if(b<=B&&e>=E)return p[u];//segmenty se prekryvaji uplne
- return min(gt(b,e,u<<1,B,(B+E)>>1),gt(b,e,u<<1|1,(B+E)/2+1,E));
- }
- }T;
- #define CLR W=0 //neni potreba - jen pro vice test-cases
- int main(void){
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement