记录编号 472182 评测结果 AAAAAAAAAA
题目名称 工作指派 最终得分 100
用户昵称 GravatarShirry 是否通过 通过
代码语言 C++ 运行时间 0.177 s
提交时间 2017-11-07 13:53:55 内存使用 0.40 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
#define inf (int)1e9
using namespace std;
const int maxn=10010;
int n,k,c,a[maxn];
long long f[maxn];
int main(){
	freopen("dividea.in","r",stdin);
	freopen("dividea.out","w",stdout);
	scanf("%d%d%d",&n,&k,&c);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	sort(a+1,a+1+n);
	for(int i=1;i<=n;i++)f[i]=inf;
	for(int i=1;i<=n;i++){
		for(int j=0;j<=i-k;j++){
			f[i]=min(f[i],f[j]+(long long)(a[i]-a[j+1])*(a[i]-a[j+1]));
		}
		f[i]+=c;
	}
	printf("%lld\n",f[n]);
	return 0;
}