求助
  • 板块P1725 琪露诺
  • 楼主DLDZD
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/9 22:06
  • 上次更新2024/10/10 11:17:12
查看原帖
求助
508593
DLDZD楼主2024/10/9 22:06
#include<bits/stdc++.h>
#define max(a,b) (a>b? a:b)
#define int long long
using namespace std;
int a[200001];
int dp[200001];
deque<pair<int,int> > q;
signed main(){
    int n,l,r;
    cin>>n>>l>>r;
    for(int i=0;i<=n;i++) cin>>a[i];
    int sum=0;
    for(int i=l;i<=n;i++){
        while(!q.empty()&&q.back().first<=dp[sum]) q.pop_back();
        q.push_back(make_pair(dp[sum],sum));
        while(q.front().second+r<i) q.pop_front();
        dp[i]=a[i]+q.front().first;
        sum++;
    }
    int num=-21474836450;
    for(int i=n-r+1;i<=n;i++) num=max(num,dp[i]);
    cout<<num;
    return 0;
}

WA100 被hack了

2024/10/9 22:06
加载中...