D 年终奖金 河南第十届ACM真题 【dp】

来源:互联网 发布:网络棋牌打鱼违法吗 编辑:程序博客网 时间:2024/05/09 13:25


#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int a[105];int dp[105];int make(int x,int y){return (x-y)*(x-y);}int main(){int n,k,c,i,j;while(scanf("%d%d%d",&n,&k,&c)!=EOF){memset(dp,0x3f,sizeof(dp));for(i=1;i<=n;i++){scanf("%d",&a[i]);}sort(a+1,a+1+n);//从小到大排一下序 dp[0] = 0;for(i=k;i<=n;i++){for(j=0;j<=i-k;j++){if(j<k && j!=0){continue;}dp[i] = min(dp[j] + c + make(a[i],a[j+1]),dp[i]);}}printf("%d\n",dp[n]);}return 0;}


0 0
原创粉丝点击