不是妹子,不会卖萌,不是刚学oi的菜鸡求助

P2627 [USACO11OPEN] Mowing the Lawn G

月离 @ 2019-10-12 15:48:18

调疯了,一直只有60分

数据点下载没有换行所以找不出错来

qwq害怕再交会被“浪费评测资源”

#include<bits/stdc++.h>
#define ll long long
#define re register
using namespace std;

int n,k;
int a[100010];
int f[100010];

int read(){
    int s=0;
    char c=getchar();
    while(c>57||c<48) c=getchar();
    while(47<c&&c<58) {
        s=s*10;
        s=s+c-48;
        c=getchar();
    }
    return s;
}

struct Node{
    ll x;
    int id;
    bool operator<(const Node &a)const{
        return x>a.x;
    }
};
priority_queue<Node>q;

inline int minn(int a,int b){
    return a>b?b:a;
}

inline int maxx(int a,int b){
    return a>b?a:b;
}

int main(){
    n=read();
    k=read();
    int sum=0;
    for(int i=1;i<=n;i++){
        a[i]=read();
        sum+=a[i];
    }

    for(re int i=1;i<=n+1;i++){
        q.push((Node){f[i-1],i-1});
        while(q.top().id<i-k-1)q.pop();
        int p=q.top().x;
        f[i]=p+a[i];
    }

    ll ans=sum-f[n+1];
    printf("%lld",ans);
    return 0;
} 

by 梧桐灯 @ 2019-10-12 15:49:53

@月离 为什么f不用long long


by MoXiaodu @ 2019-10-12 15:55:10

用写字板别用记事本就有换行惹


by 月离 @ 2019-10-12 16:00:09

@光随影走 然开了ll也没用


by 梧桐灯 @ 2019-10-12 16:04:17

@月离 你不仅仅是f没开long long呀QwQ,你把所有可能爆int都改为long long试试(反正我改过后A掉了,用你的code)


by encore @ 2019-10-12 16:04:54

@月离 是T了还是WA了?我记得我是用单调队列做的


by Provicy @ 2019-10-12 16:05:34

您显然没开longlong而WA掉了


by 月离 @ 2019-10-12 16:15:15

谢谢大家,显然是没开ll的原因 XD


|