MLE求助
查看原帖
MLE求助
1139577
WydnksqhbD楼主2024/1/4 15:49
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e6+10;
int n,m;
int a[N],RMQ[N][21];
void ST()
{
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&RMQ[i][0]);
	}
	for(int j=1;j<=(int)(log(n)/log(2));j++)
	{
		for(int i=1;i+(1<<j)-1<=n;i++)
		{
			RMQ[i][j]=min(RMQ[i][j-1],RMQ[i+(1<<j-1)][j-1]);
		}
	}
	return;
}
int ask(int l,int r)
{
	int x=(int)(log(r-l+1)/log(2));
	return min(RMQ[l][x],RMQ[r-(1<<x)+1][x]);
}
int main()
{
	scanf("%d %d",&n,&m);
	ST();
	printf("0\n");
	for(int i=2;i<=n;i++)
	{
		int left=i-m,right=i-1;
		if(left<1)
		{
			left=1;
		}
		printf("%lld\n",ask(left,right));
	}
	return 0;
}
2024/1/4 15:49
加载中...