比赛 |
区间问题练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
忠诚 |
最终得分 |
100 |
用户昵称 |
Regnig Etalsnart |
运行时间 |
0.103 s |
代码语言 |
C++ |
内存使用 |
3.18 MiB |
提交时间 |
2017-04-21 19:56:36 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#define syy myson
using namespace std;
int m,n,M,minn[500000<<2],L,R,i;
void build()
{
for(M=1;M<=m+1;M<<=1);
for(i=M+1;i<=M+m;i++)scanf("%d",&minn[i]);
for(i=M-1;i;i--)minn[i]=min(minn[i<<1],minn[i<<1|1]);
}
int min(int x,int y)
{
return x<y?x:y;
}
int Min(int x,int y,int ans=1<<20)
{
for(int l=M+x-1,r=M+y+1;l^r^1;l>>=1,r>>=1)
{
if(~l&1)ans=min(ans,minn[l^1]);
if(r&1)ans=min(ans,minn[r^1]);
}
return ans;
}
int Main()
{
freopen("faithful.in","r",stdin);freopen("faithful.out","w",stdout);
scanf("%d%d",&m,&n);
build();
for(i=1;i<=n;i++)
{
scanf("%d%d",&L,&R);
printf("%d ",Min(L,R));
}
return 0;
}
int main(){;};
int syy=Main();