TLEqiutiao
查看原帖
TLEqiutiao
1358961
LG_Sam楼主2024/10/13 15:44
#include<bits/stdc++.h>
using namespace std;
namespace akioi{
	int n,m,a[100005]={0},s[100005]={0},v[100005]={0};
	void read(){
		cin>>n>>m;
		for(int i=2;i<=n;i++){
			cin>>a[i];
			s[i]=s[i-1]+a[i];
		}
		for(int i=1;i<=n;i++){
			cin>>v[i];
		}
	}
	int p=1,q=0,sum=0;
	bool flag=0;
	int mode(){
		do{
			int i;
			for(i=p+1;i<=n;i++){
				if(v[i]<v[p]) flag= !flag;break;
			}
			int t=s[i]-q;
			if(t%m==0){
			    sum+=t/m*v[q];q+=t;
			}else{
			    sum+=(t/m+1)*v[q];q+=(t/m+1)*m;
			} 
		}while(p<n);
		return sum;
	}
}
using namespace akioi;
int main(){
	read();
	cout<<mode();
	return 0;
}
2024/10/13 15:44
加载中...