1 条题解
-
-9
#include<bits/stdc++.h> #define int long long #define fo(i,a,b) for(int i=a;i<=b;i++) using namespace std; int n,k; int a[10001]; int f[10001][1001]; main(){ memset(f,0x3f,sizeof(f)); cin>>n>>k; k+=3; if(k*2>n){ cout<<-1; return 0; } fo(i,1,n) cin>>a[i]; sort(a+1,a+n+1); fo(i,0,n) f[i][0]=0; fo(i,2,n){ fo(j,1,k){ f[i][j]=min(f[i-1][j],f[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1])); } } cout<<f[n][k]; return 0; }
- 1
信息
- ID
- 372
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 89
- 已通过
- 45
- 上传者