50pts求助!
查看原帖
50pts求助!
749219
Eva_91418楼主2024/4/4 13:30
#include<bits/stdc++.h>
using namespace std;
int n,d,a[1000000],v[1000000],sum=0,m=1,k,rest=0,now=0;
int ceill(int n,int k)
{
	if(n%k!=0)
	{
		return n/k+1;
	}
	else return n/k;
}
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];v[i]+=v[i-1];}
	for(int i=1;i<=n;i++)
		cin>>a[i];
	while(m<n)
	{
	    k=m+1;
        while(k<=n)
        {
            if(a[k]<a[m]||k==n)
            {
                now=v[k-1]-v[m-1]-rest;
                sum+=a[m]*ceill(now,d);
                rest=ceill(now,d)*d-now;
               // cout<<sum<<" "<<rest<<endl;
                break;
            }
            else k++;
        }
        m=k;
	}
	cout<<sum;
	return 0;
	
 } 

比赛的时候直接爆零了

裤裤改完还是只有50

2024/4/4 13:30
加载中...