社区讨论

《关于本蒟蒻照着老师的代码抄但还是35pts这件事

P9749[CSP-J 2023] 公路参与者 4已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@lpdttxvk
此快照首次捕获于
2023/11/25 17:06
2 年前
此快照最后确认于
2023/11/25 18:28
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
long long n,d,v[N],y[N];
struct Point{
    long long a,id;
}q[N];
bool cmp(Point a,Point b){
    if(a.a!=b.a) return a.a<b.a;
    return a.id<b.id;
}
int main(){
    cin>>n>>d;
    for(int i=1;i<=n-1;++i){
        cin>>v[i];
        v[i]+=v[i-1];
        y[i]=(v[i]+d-1)/d;
    }
    for(int i=1;i<=n;++i){
        cin>>q[i].a;
        q[i].id=i;
    }sort(q+1,q+n+1,cmp);
    long long r=n-1,sum=0,k=1;
    for(;k<=n;){
        if(q[k].id<r){
            sum+=(y[r]-y[q[k].id-1])*q[k].a;
            r=q[k].id-1;
        }k++;
    }
    cout<<sum;
    return 0;
}

回复

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

正在加载回复...