社区讨论

求助

P2251质量检测参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lzqy03nd
此快照首次捕获于
2024/08/12 20:01
2 年前
此快照最后确认于
2024/08/12 20:57
2 年前
查看原帖
样例有误
CPP
#include<iostream>
#include<cmath>
using namespace std;
const int N = 1e6+5;
int f[N][25];
int main(){
	int n, m;
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
		cin >> f[i][0];
	for(int i = 1; i <= 21; i++)
		for(int j = 1; j+(1<<i)-1 <= n; j++)
			f[j][i] = max(f[j][i-1], f[j+(1<<(i-1))][i-1]);
	int l = 1, r = m;
	while(l <= n-m+1 && r <= n){
		int len = log2(r-l+1);
		cout << max(f[l][len], f[r-(1<<len)+1][len]) << "\n";
		l++, r++;
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...