社区讨论

官方数据这么强真的好吗……

P5017[NOIP 2018 普及组] 摆渡车参与者 11已保存回复 25

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
25 条
当前快照
1 份
快照标识符
@mi7dofwo
此快照首次捕获于
2025/11/20 19:58
4 个月前
此快照最后确认于
2025/11/20 23:38
4 个月前
查看原帖
RT,本来洛谷50,换官方数据后10分了……心态爆炸
说好的NOIP数据水呢?难道是因为这次合肥天气好水分晒干了???
代码:
CPP
#include <bits/stdc++.h>
using namespace std;
int n;
long long m,t[505],now,ans,b=1,e=1;
inline long long deng(long long k){
    long long s=0;
    for (long long i=b;i<=e;i++)s+=k-t[i];
    return s;
}
int main(){
    scanf ("%d%lld",&n,&m);
    for (int i=1;i<=n;i++)scanf ("%lld",&t[i]);
    sort(t+1,t+n+1);now=t[1];
//    for (int i=1;i<=n;i++)printf ("%lld ",t[i]);puts("");
    int i=2,j,j1;
    for (;i<=n;){
        j=j1=i;
        long long nowdeng=0;
        while (t[j1]==t[i])j1++;
        while (t[j]<now+m&&j<=n){nowdeng+=(now+m)-t[j];j++;}
        if (now+m<=t[i]){now=t[i];b=i,e=j1-1;i=j1;/*puts("aaa");*/continue;}
        else{
        if (deng(t[j-1])<nowdeng){now=t[j-1],ans+=deng(t[j-1]),e=j-1;/*puts("bbb");*/}
        else{ans+=nowdeng,now=max(now+m,t[j-1]),b=i+1,e=j-1;/*puts("ccc");printf ("%d %d\n",i,j);*/}
		i=j;}
//        printf ("%d %d %d %d %d %d\n",now,b,e,ans,i,j1);
    }
    printf ("%lld",ans);
}

回复

25 条回复,欢迎继续交流。

正在加载回复...