题目:Chef Monocarp
    链接:https://codeforces.com/problemset/problem/1437/C
    思路:
    image.png
    AC代码:

    1. #include<bits/stdc++.h>
    2. using namespace std;
    3. int w[205];
    4. int f[405][205];
    5. int main ()
    6. {
    7. int q;
    8. cin>>q;
    9. while(q--)
    10. {
    11. int n;
    12. cin>>n;
    13. for (int i=1;i<=n;i++)
    14. cin>>w[i];
    15. sort(w+1,w+n+1);
    16. memset(f,0x3f,sizeof f);
    17. for (int i=0;i<=2*n;i++)
    18. f[i][0]=0;
    19. for (int i=1;i<=2*n;i++)
    20. {
    21. for (int j=1;j<=n;j++)
    22. {
    23. f[i][j] = min(f[i-1][j],f[i-1][j-1]+abs(w[j]-i));
    24. }
    25. }
    26. cout<<f[2*n][n]<<endl;
    27. }
    28. return 0;
    29. }