记录编号 433415 评测结果 AAAAAAAAAA
题目名称 忠诚 最终得分 100
用户昵称 GravatarHzoi_Mafia 是否通过 通过
代码语言 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(){;}