50分RE求助!
  • 板块P2032 扫描
  • 楼主langmou
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/9/24 16:57
  • 上次更新2024/9/24 20:16:48
查看原帖
50分RE求助!
1393704
langmou楼主2024/9/24 16:57
#include<bits/stdc++.h>
using namespace std;
#define int long long
int f[100010][22],m,n,a[1000010],q,e;
int maax(int x,int y)
{
	int len=(int)(log2(y-x+1));
	return max(f[x][len],f[y-(1<<len)+1][len]);
}
signed main()
{
	cin >> m >> n;
	for(int i=1;i<=m;i++)
	{
		scanf("%lld",a+i);
	}
	for(int i=1;i<=m;i++)
	{
		f[i][0]=a[i];
	}
	for(int j=1;j<=20;j++) 
	{
		for(int i=1;i<=m;i++)
		{
            if(i+(1<<j)-1<=m)
			{
				f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]);
			}
		}
	}
	for(int i=1;i+n-1<=m;i++)
	{
		printf("%lld\n",maax(i,i+n-1));
	}
	return 0;
}
2024/9/24 16:57
加载中...