1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; const int N = 1e3 + 10; int n,m; int a[N],f[N][N]; int main(){ cin>>n>>m; for(int i = 1;i <= n;i++){ scanf("%d",&a[i]); } for(int i = 1;i <= n;i++){ for(int j = 1;j <= n;j++){ f[i][j] = 1e9; } } int ans = 1e9; for(int i = 1;i <= n;i++){ for(int j = 1;j <= min(i,m);j++){ if(j == 1){ f[i][j] = 0; continue; } for(int k = j-1;k < i;k++){ f[i][j] = min(f[i][j],f[k][j-1]+abs(a[k]-a[i])); } if(j == m) ans = min(ans,f[i][j]); } } // for(int i = 1;i <= n;i++){ // for(int j = 1;j <= m;j++){ // cout<<f[i][j]<<" "; // } // cout<<endl; // } cout<<ans; return 0; }
- 1
信息
- ID
- 1104
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者