wa on subtask2求调
查看原帖
wa on subtask2求调
1652521
LonelyLunar楼主2025/8/31 00:36
#include <algorithm>
#include <bits/stdc++.h>
#include <queue>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
using i128 = __int128;
#define endl '\n'
#define cty cout<<"Yes"<<endl
#define ctn cout<<"No"<<endl
#define dbg(x) cout<<#x<<" : "<<x<<endl
#define int long long
const int mxn = 2e5+10;
const int mod = 998244353;
double ST,ED;
int n,l,r;
int a[mxn];
int dp[mxn];
void LonelyLunar_solve(){
	cin>>n>>l>>r;
	for(int i = 0;i <= n; i++){
		cin>>a[i];
	}
	if(l==r){
		int res = 0;
		for(int i = 0;i <= n; i+=l){
			res+=a[i];
		}
		cout<<res<<endl;
		return;
	}
	priority_queue<int> pq,pq2;
	for(int i = 0;i < l; i++) pq2.push(a[i]);
	for(int i = l;i <= n; i++){
		pq.push(dp[i-l]);
		if(i-r-1>=l) pq2.push(dp[i-r-1]);
		while(!pq2.empty()&&pq.top()==pq2.top()){
			pq.pop();
			pq2.pop();
		}
		dp[i] = pq.top()+a[i];
	}
	int res = -1e9;
	for(int i = n-r+1;i <= n; i++) res = max(res,dp[i]);
	cout<<res<<endl;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int _ = 1;
	//ST = clock();
	//cin>>_;
	while(_--){
		LonelyLunar_solve();
	}
	//ED = clock();
	//cerr<<1000*(ED-ST)/CLOCKS_PER_SEC<<"ms\n";
	return 0;
}
2025/8/31 00:36
加载中...