| 比赛 |
csp2025模拟练习3 |
评测结果 |
AAAAAAAAA |
| 题目名称 |
Symmetric Mountains |
最终得分 |
100 |
| 用户昵称 |
会挽弯弓满月 |
运行时间 |
1.449 s |
| 代码语言 |
C++ |
内存使用 |
75.96 MiB |
| 提交时间 |
2025-10-30 09:02:16 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=5010;
int n;
int h[N];
int f[N][N];
int sum[N][N];
int main(){
freopen("Mountains.in","r",stdin);
freopen("Mountains.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&h[i]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
f[i][j]=abs(h[i]-h[j]);
}
}
int ed,r,ans;
for(int len=1;len<=n;len++){
ed=n-len+1;
ans=1e9+7;
for(int l=1;l<=ed;l++){
r=l+len-1;
sum[l][r]=sum[l+1][r-1]+f[l][r];
ans=min(ans,sum[l][r]);
}
printf("%d ",ans);
}
return 0;
}