24分代码求求大佬帮忙看看了
查看原帖
24分代码求求大佬帮忙看看了
631052
ysw0521nb楼主2022/11/21 21:30
#include<bits/stdc++.h>
using namespace std;
const int N=100050;
int a[N][20];
int n,m;
int b[N];
void build()
{
	int t=log(n)/log(2)+1;
	for(int j=1;j<t;j++)
		for(int i=1;i<=n;i++)
			a[i][j]=max(a[i][j-1],a[i+(1<<(j-1))][j-1]);
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&b[i]);
		a[i][0]=b[i];
	}
	build();
	int x,y;
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&x,&y);
		int k=log(y-x+1)/log(2);
		printf("%d\n",max(a[x][k],a[y-(1<<k)+1][k]));
	}
	return 0;
}
2022/11/21 21:30
加载中...