社区讨论
50pts求调,贪心,后面几个点全WA
P9749[CSP-J 2023] 公路参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lok54j04
- 此快照首次捕获于
- 2023/11/04 22:29 2 年前
- 此快照最后确认于
- 2023/11/05 09:08 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
struct station{
long long dis,price;
};
station s[100001];
int main(){
//freopen("road.in","r",stdin);
//freopen("road.out","w",stdout);
int n,sum=0,past=1,ans=0;
double d,left=0.0;
s[1].dis=0;
scanf("%lld %lf",&n,&d);
for(int i=2;i<=n;i++){
scanf("%lld",&s[i].dis);
}
for(int i=1;i<=n;i++){
scanf("%lld",&s[i].price);
sum+=s[i].dis;
if(s[i].price<s[past].price||i==n){
ans+=int(ceil(double(sum)/d-left))*s[past].price;//支付上一段路的费用
left=ceil(double(sum)/d-left)-(double(sum)/d-left);
//printf("Chtholly %d %d %d %d %lf %lf %lf\n",ans,past,sum,int(ceil(double(sum)/d-left)),double(sum)/d-left,d,left);
sum=0;
past=i;
}
}
printf("%lld",ans);
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...