记录编号 |
43942 |
评测结果 |
AAAAAAAAAA |
题目名称 |
工作指派 |
最终得分 |
100 |
用户昵称 |
苏轼 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.021 s |
提交时间 |
2012-10-15 16:35:21 |
内存使用 |
3.30 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
long long n,k,c,w[10005]={0},q[10005]={0};
int cmp(const void*a,const void*b)
{
return *(int *)a - *(int *)b;
}
int main()
{
freopen ("dividea.in","r",stdin);
freopen ("dividea.out","w",stdout);
cin>>n>>k>>c;
for (int i=1;i<=n;i++)
{
cin>>w[i];
q[i]=~0u>>1;
}
qsort(w,n+1,sizeof(w[0]),cmp);
q[1]=c;
for (int i=2;i<=n;i++)
{
for (int j=0;j<=i-k;j++)
{
q[i]=min(q[i],q[j]+(w[i]-w[j+1])*(w[i]-w[j+1])+c);
}
}
cout<<q[n];
return 0;
}