Example #1
0
int main(){
    scanf("%d%d", &N, &Q);
    M = 1;
    while(M < N) M <<= 1;
    ST st = ST();
    for(int i = 0; i < N; i++){
        int h; scanf("%d", &h);
        st.update(h, i);
    }
    while(Q--){
        int a, b; scanf("%d%d", &a, &b);
        a--;
        //        cerr << a << " " << b << " " << st.get_max(a,b) << " " << st.get_min(a,b) << endl;
        printf("%d\n", st.get_max(a,b)-st.get_min(a,b));
    }
    return 0;
}