求错误性证明或反例(非作弊意图,违规自删)
  • 板块灌水区
  • 楼主Sukilin
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/21 20:26
  • 上次更新2023/10/21 20:37:51
查看原帖
求错误性证明或反例(非作弊意图,违规自删)
959201
Sukilin楼主2023/10/21 20:26

cspj2 t2

#include<bits/stdc++.h>
#define MAXN 100009
using namespace std;
int n,d,v[MAXN],a[MAXN],currdis,currplace=1,ans;
int add(int x,int y,int z){
	int change=y-x;
	if(change%z==0)	return change;
	else return (change/z+1)*z;
}
int main(){
	scanf("%d%d",&n,&d);
	for(int i=1;i<n;i++)	scanf("%d",&v[i]);
	for(int i=1;i<=n;i++)	scanf("%d",&a[i]);
	for(int i=1;i<n;i++){
		//cout<<currdis<<endl;
		if(a[i]<a[currplace])	currplace=i;
		if(v[i]>currdis){
			//cout<<currdis<<endl;
			ans+=(add(currdis,v[i],d)/d)*a[currplace];
			currdis+=add(currdis,v[i],d);
			currdis-=v[i];
		}
		
	}
	cout<<ans;
	
	return 0;
}
2023/10/21 20:26
加载中...