无缘无故WA两个点

P1725 琪露诺

雪国大白菜 @ 2018-08-24 16:58:37

为什么我第一个点输出的是正确答案他给我判WA,两个点都是这样,80emmm

供上代码,求大佬帮忙:

#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
const int N=200000+10;
typedef pair<int,int> pii;
priority_queue<pii,vector<pii>,less<pii> >q;

int n,l,r;
int dp[N*2],index[N*2];

main(void)
{
    scanf("%d%d%d",&n,&l,&r);
    if(l>r) swap(l,r);
    for(int i(0);i<=n;i++){
        scanf("%d",&index[i]);
        if(i>=l) dp[i]=index[i];    
    }
    int ans;
    for(int i(l);i<=n+r;i++){
        q.push(make_pair(dp[i-l],i-l));
        int d=q.top().second;
        dp[i]=dp[d]+index[i];
    }
    for(int i(n+1);i<=n+r;i++) ans=max(ans,dp[i]);
    printf("%d",ans);
    return 0;
}

by Aleph1022 @ 2018-08-24 17:00:11

请送到 Linux 系统测试再来批判
一个比较方便的方案是使用洛谷 IDE


|