输出怎么会少一位?
查看原帖
输出怎么会少一位?
393811
大海中的孤帆楼主2023/7/31 18:05
#include<bits/stdc++.h>
using namespace std;
int n,m;
int f[1000010][32];
int qm(int a,int b)
{
	if(a<b)
		return a;
	return b;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;++i)
	{
		cin>>f[i][0];
	}
	for(int j=1;(1<<j)<=n;++j)
	{
		for(int i=1;(i+(1<<j)-1)<=n;++i)
		{
			f[i][j]=qm(f[i][j-1],f[i+(1<<(j-1))][j-1]);
		}
	}
	int k=0;
	while((1<<(k+1))<=1+m)
	{
		k++;
	}
	for(int i=1;i<=n-m+1;++i)
	{
		cout<<qm(f[i][k],f[i+m-(1<<k)+1][k])<<" ";
	}
	return 0;
}

输出少一位,按照st模版改的

2023/7/31 18:05
加载中...