记录编号 | 433415 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 忠诚 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.067 s | ||
提交时间 | 2017-08-05 11:56:01 | 内存使用 | 0.53 MiB | ||
#include<iostream> #include<cstring> #include<cstdio> using namespace std; # define N ((131072<<1)+10) inline int read(){ int sum(0); char ch(getchar()); for(;ch<'0'||ch>'9';ch=getchar()); for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar()); return sum; } int n,m,q; int minn[N]; inline int my_min(int a,int b){ return a<b?a:b; } inline int gg(){ freopen("faithful.in","r",stdin); freopen("faithful.out","w",stdout); n=read(),q=read(); for(m=1;m<n+2;m<<=1); for(int i=1;i<=n;i++) minn[i+m]=read(); for(int i=m-1;i>0;i--) minn[i]=my_min(minn[i<<1],minn[i<<1|1]); while(q--){ int x(read()),y(read()); int ans(0x7fffffff); x=x+m-1,y=y+m+1; for(;x^y^1;x>>=1,y>>=1){ if(!(x&1)) ans=my_min(ans,minn[x^1]); if(y&1) ans=my_min(ans,minn[y^1]); } printf("%d\n",ans); } } int K(gg()); int main(){;}