1544:天才的记忆

 

const int N=2e5+5;
const int lgN=18+5;
 
    int n,m,t;
    int i,j,k;
    int a[N];
    int lg[N];
    int f[N][lgN];
    
void init()
{
    lg[0]=-1;
    for(int i=1;i<=n;i++){
        lg[i]=lg[i>>1]+1;
        f[i][0]=a[i];
    }
    for(int j=1;j<=lgN;j++){
        for(int i=1;i+(1<<j)-1<=n;i++){
            f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]);
        }
    }
}

int main()
{
    //IOS;
    while(~sd(n)){
        for(i=1;i<=n;i++) sd(a[i]);
        init();
        sd(m);
        while(m--){
            int l,r;
            sdd(l,r);
            int len=lg[r-l+1];
            pd( max(f[l][len],f[r-(1<<len)+1][len]) );
        }
    }
    //PAUSE;
    return 0;
}

 

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页