还有人吗?
  • 板块灌水区
  • 楼主UKE_bound
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/2 20:12
  • 上次更新2024/12/2 22:19:36
查看原帖
还有人吗?
1073741
UKE_bound楼主2024/12/2 20:12

如果你来了,那就看一下这道题吧,楼主 WA0pts。

#include<bits/stdc++.h>
using namespace std;
const int inf=0x3f3f3f3f;
int f[1505][1505][2];
int p[1505];
int main(){
    int n,s;
    cin>>n>>s;
    int d=(s-1)/(n-1);
    int b=s-1-(n-1)*d;
    int z=n-b;
    for(int i=1;i<=n;i++){
        cin>>p[i];
        for(int j=0;j<=b;j++){
            f[i][j][0]=min(f[i-1][j][0],f[i-1][j][1])+abs(p[i]-d*(i-1-j)-(d+1)*j);
            f[i][j][1]=min(f[i-1][j-1][0],f[i-1][j-1][1])+abs(p[i]-d*(i-1-(j-1))-(d+1)*(j-1));
        }
    }
    cout<<min(f[n][b][0],f[n][b][1]);
    return 0;
}
2024/12/2 20:12
加载中...