30分贪心代码,求hack
查看原帖
30分贪心代码,求hack
598875
nikodo楼主2023/11/20 19:20
#include<bits/stdc++.h>
using namespace std;
int a[100005],v[100005];
int minn[100005];
int n,d;
int main(){
//    freopen("road2.in","r",stdin);
//    freopen("road.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>d;
    for(int i=1;i<n;i++)cin>>v[i];
    for(int i=1;i<=n;i++)cin>>a[i];
    minn[0]=1e9;
    for(int i=1;i<=n;i++)minn[i]=min(minn[i-1],a[i]);
    int dy=0;
    long long ans=0;
    for(int i=1;i<n;i++){
        if(dy>v[i]){
            dy-=v[i];
            continue;
        }
        int tmp=(v[i]-dy)/d;
        if((v[i]-dy)%d){
            tmp++;
            dy=tmp*d-v[i];
        }else dy=0;
        ans+=tmp*minn[i];
    }
    cout<<ans;
    return 0;
}
2023/11/20 19:20
加载中...