建议加强数据
  • 板块P1714 切蛋糕
  • 楼主LEE114514
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/4/27 20:40
  • 上次更新2024/4/27 22:11:41
查看原帖
建议加强数据
750579
LEE114514楼主2024/4/27 20:40

一个常数巨大的 O(nlog⁡n)O(n \log n) 做法不开 O2 在 c++14 下都跑过了此题。

Link

#include <bits/stdc++.h>
using namespace std;
int n,m;
priority_queue<pair<int,int> > pq;
const int maxn=5e5+5;
int a[maxn];
int ans;
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i) scanf("%d",a+i),a[i]+=a[i-1];
	pq.push({0,0});
	for(int i=1;i<=n;++i){
		while(i-pq.top().second>m) pq.pop();
		ans=max(ans,a[i]+pq.top().first);	
		pq.push({-a[i],i});
	}
	printf("%d",ans);
}
2024/4/27 20:40
加载中...