蒟蒻求助,7个RE是什么鬼?
查看原帖
蒟蒻求助,7个RE是什么鬼?
175801
黑虎阿福楼主2020/8/19 22:51

求助大佬,为何7个RE了

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,q,maxh[100000][30],minh[100000][30],a,b,c[100000],d,x,y;
int read(){
	int x=0,f=1;
	char ch=getchar();
	while(!isdigit(ch)){
		if(ch=='-')
		f=-1;
		ch=getchar();
	}
	while(isdigit(ch)){
		x=x*10+(ch-'0');
		ch=getchar();
	}
	return x*f;
}
void ST(){
	for(a=1;a<=n;a++){
		maxh[a][0]=c[a];
		minh[a][0]=c[a];
	}
	d=log(n)/log(2)+1;
	for(b=1;b<d;b++){
		for(a=1;a<=n-(1<<b)+1;a++){
			maxh[a][b]=max(maxh[a][b-1],maxh[a+(1<<(b-1))][b-1]);
			minh[a][b]=min(minh[a][b-1],minh[a+(1<<(b-1))][b-1]);
		}
	}
}
int main(){
	n=read();
	q=read();
	for(a=1;a<=n;a++)
	c[a]=read();
	ST();
	for(a=1;a<=q;a++){
		x=read();
		y=read();
		d=log(y-x)/log(2);
		cout<<max(maxh[x][d],maxh[y-(1<<d)+1][d])-min(minh[x][d],minh[y-(1<<d)+1][d])<<endl;
	}
	return 0;
}
2020/8/19 22:51
加载中...