蒟蒻求助,本机上测试,只让输入前两行,
查看原帖
蒟蒻求助,本机上测试,只让输入前两行,
197196
syanoeclipse楼主2021/9/27 19:05

就再也输入不进去了

然后也什么也不输出

他还说我main()函数返回值是3220225725

代码

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int m,n,a1,a2,_p,_l,st[100001][18];
int pwr(int k)
{
	if(k==0){return 1;}
	return 2*pwr(k-1);
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<n;i++){cin>>st[i][0];}
	for(int i=0;i<17;i++)
	{
		_p=pwr(i-1);
		for(int j=0;j<(n-(2*_p));j++)
		{
			st[j][i]=max(st[j][i-1],st[j+_p][i-1]);
		}
	}
	for(int i=0;i<m;i++)
	{
		cin>>a1>>a2;
		_l=a2-a1+1;
		_p=int(log(_l)/log(2));
		_l=pwr(_p);
		cout<<max(st[a1-1][_p],st[a2-_l][_p]);
		if(i!=(m-1))
		{
			cout<<'\n';
		}
	}
	return 0;
}
2021/9/27 19:05
加载中...