小图灵数据和洛谷数据根本不准啊。
J组T3的特殊性质C明明给了50,结果洛谷和小图灵统一吞了30。
T2的特殊性质一给了30,但是洛谷给了20,小图灵给了35。
所以我贪心是不是假了,帮我看一下代码:
#include<bits/stdc++.h>
using namespace std;
long long n,d,v[100005],a[100005],minn=1145141919810,ninnum=0;
long long road(long long l,long long r){
long long sum=0;
for(int i=l;i<=r-1;i++){
sum+=v[i];
}
return sum;
}
int main(){
//freopen("road.in","r",stdin);
//freopen("road.out","w",stdout);
cin>>n>>d;
for(int i=1;i<=n-1;i++){
cin>>v[i];
}
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]<minn){
ninnum=i;
minn=a[i];
}
}
if(ninnum==1){
cout<<ceil(road(1,n)*1.0/d)*a[1]<<endl;
return 0;
}
long long now=1,cnt=0,all=0;
double oil=0;
while(now<=n){
if(now+cnt<=n&&a[now]>a[now+cnt]){
if(now+cnt==n){
all+=ceil(road(now,now+cnt)*1.0/d-oil)*a[now];
now+=cnt;
cout<<all<<endl;
return 0;
}
all+=ceil(road(now,now+cnt)*1.0/d)*a[now];
oil+=ceil(road(now,now+cnt)*1.0/d)-road(now,now+cnt)*1.0/d;
now+=cnt;
cnt=0;
}
cnt++;
}
//fclose(stdin);
//fclose(stdout);
return 0;
}