题目:Chef Monocarp
链接:https://codeforces.com/problemset/problem/1437/C
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
int w[205];
int f[405][205];
int main ()
{
int q;
cin>>q;
while(q--)
{
int n;
cin>>n;
for (int i=1;i<=n;i++)
cin>>w[i];
sort(w+1,w+n+1);
memset(f,0x3f,sizeof f);
for (int i=0;i<=2*n;i++)
f[i][0]=0;
for (int i=1;i<=2*n;i++)
{
for (int j=1;j<=n;j++)
{
f[i][j] = min(f[i-1][j],f[i-1][j-1]+abs(w[j]-i));
}
}
cout<<f[2*n][n]<<endl;
}
return 0;
}