比赛 NOIP2025模拟赛2 评测结果 AAAAATTTTTTTTTTT
题目名称 桥梁建设 最终得分 31
用户昵称 梦那边的美好TT 运行时间 23.125 s
代码语言 C++ 内存使用 5.79 MiB
提交时间 2025-11-25 11:37:21
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 100001
using namespace std;
ll n,h[N],w[N],sum[N],dp[N];
int main(){
	freopen("building.in","r",stdin);
	freopen("building.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>h[i];
    for(int i=1;i<=n;i++){
    	cin>>w[i];
    	sum[i]=sum[i-1]+w[i];
	}
    memset(dp,0x3f,sizeof(dp));
    dp[1]=0;
    for(int i=2;i<=n;i++)
    for(int j=1;j<i;j++){
    	dp[i]=min(dp[i],dp[j]+sum[i-1]-sum[j]+(  h[i]-h[j])*(h[i]-h[j]));
	}
	//for(int i=1;i<=n;i++) cout<<dp[i]<<' ';
	cout<<dp[n]<<endl;
    return 0;
}