还考虑到了出题人没想到的问题
我的老师的解法
后悔贪心策略
#include<bits/stdc++.h>
using namespace std;
const int N=1e5;
int n,d,v[N+10],a[N+10];
int main()
{
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
cin>>n>>d;
for(int i=1;i<n;i++) cin>>v[i];
for(int i=1;i<=n;i++) cin>>a[i];
int small=INT_MAX,m=0,y;
long long s=0;
for(int i=1;i<n;i++){
if(a[i]<small) small=a[i];
if(m>v[i]){
m-=v[i];
continue;
}
}