比赛 csp2025模拟练习3 评测结果 AAAAAAAAA
题目名称 Symmetric Mountains 最终得分 100
用户昵称 我常常追忆未来 运行时间 0.519 s
代码语言 C++ 内存使用 32.94 MiB
提交时间 2025-10-30 10:37:16
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=5e3+7;
int h[N],n,f[N][N];
int ans[N];
int main(){
	freopen("Mountains.in","r",stdin);
	freopen("Mountains.out","w",stdout); 
	cin>>n;
    for(int i=1;i<=n;i++){
        cin>>h[i];
    }
    for(int j=2;j<=n;j++){
		ans[j]=1e9;    	
        for(int i=1;i<=n-j+1;i++){
            f[i][i+j-1]=f[i+1][i+j-2]+abs(h[i]-h[i+j-1]); 
            ans[j]=min(ans[j],f[i][i+j-1]);
        }
    }
    for(int i=1;i<=n;i++){
        cout<<ans[i]<<" ";
    }

	return 0;
}