省略
省略
C++に変換後のコードはこちら
int N, Q, L[2d5], R[2d5], A, B;
struct sval{ll mn, mx;};
sval segtree_rh_merge(sval a, sval b){ return {max(a.mn, b.mn), min(a.mx, b.mx)}; }
sval segtree_rh_apply(ll f, sval a){ return a; }
ll segtree_rh_compose(ll a, ll b){ return a; }
bool f(sval a){ return a.mn <= A <= a.mx; }
segtree_rh<sval, ll> t;
{
int x, y;
rd(N,Q,(L,R)(N-1));
t.walloc(N-1);
t.setN(N-1);
rep(i,N-1) t[i] = {L[i], R[i]};
t.build();
rep(Q){
rd(A,B--);
x = t.min_left<f>(B);
y = t.max_right<f>(B);
wt(y-x+1);
}
}
Current time: 2024年04月20日18時51分57秒
Last modified: 2020年12月30日16時59分33秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る
Logged in as: unknown user (not login)