记录编号 452790 评测结果 AAAAAAAAAA
题目名称 忠诚 最终得分 100
用户昵称 GravatarEmine 是否通过 通过
代码语言 C++ 运行时间 0.200 s
提交时间 2017-09-20 11:54:29 内存使用 10.23 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
int n,m,a[maxn],f[maxn][25],x,y,ans;
int rmq(int i,int j){int k=log(j-i+1)/log(2);return min(f[i][k],f[j-(1<<k)+1][k]);}
int main(){
    freopen("faithful.in","r",stdin);freopen("faithful.out","w",stdout);
    scanf("%d%d",&m,&n); for(int i=1;i<=m;i++) scanf("%d",&a[i]),f[i][0]=a[i];
    for(int j=1;j<=23;j++) for(int i=1;i+(1<<j)-1<=m;i++)
        f[i][j]=min(f[i][j-1],f[i+(1<<(j-1))][j-1]);
    for(int i=1;i<=n;i++){
        scanf("%d%d",&x,&y); ans=rmq(x,y); printf("%d ",ans);
    }
    return 0;
}