社区讨论

40分求条

P2893[USACO08FEB] Making the Grade G参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mc3fgrq4
此快照首次捕获于
2025/06/19 21:39
9 个月前
此快照最后确认于
2025/11/04 07:05
4 个月前
查看原帖
解决必关!!!
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,k,s,t,ans,a[2001],f[2001][2001];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int j=1;j<=2000;j++)
    {
        f[1][j]=abs(a[1]-j);
    }
    for(int i=2;i<=n;i++)
    {
        int mi=0x3f3f3f3f;
        for(int j=1;j<=2000;j++)
        {
            mi=min(mi,f[i-1][j]);
            f[i][j]=mi+abs(a[i]-j);
        }
    }
    ans=0x3f3f3f3f;
    for(int j=1;j<=2000;j++)
    {
        ans=min(ans,f[n][j]);
    }
    cout<<ans;
    return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...