40pts求助
查看原帖
40pts求助
323135
wzy_楼主2024/10/15 20:55
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>

#define int long long

const int Max = 1e4 + 5;

using namespace std;

int N;
int r[Max];
int ans = 1e9 + 5;
int f[Max][Max];
int m;

signed main(){
	cin >> N;
	for(int i = 1 ; i <= N ; i++){
		cin >> r[i];
		m = max(m,r[i]);
	}
	for(int i = 1 ; i <= N ; i++) f[i][0] = r[i];
	for(int i = 1 ; i <= N ; i++){
		int minx = f[i-1][1];
		for(int j = 1 ; j <= m ; j++){	
			minx = min(minx,f[i-1][j]);
			f[i][j] = minx + abs(r[i]-j);
		}
	}
	for(int i=1;i<=m;i++) ans = min(ans , f[N][i]);
	cout << ans;
	return 0;
}

啊一直40pts不知道哪里有问题,求大佬帮看看,码风还算不错

2024/10/15 20:55
加载中...