找不出错在哪里
查看原帖
找不出错在哪里
520264
Clement_D_Alger楼主2025/6/26 16:08

请问我的为啥不对呀,找不出来了,救

#include<bits/stdc++.h>
using namespace std;
int dp[200005][3],a[200005],b[200005];
int n;
int main()
{
	cin >>n;
	for(int i = 1;i <= n;i++) cin >> a[i];
	for(int i = 1;i <= n;i++) cin >> b[i];
	for(int i = 2;i <= n;i++)
	{
		//f[i][0]=min(f[i-1][0]+abs(a[i]-a[i-1]),f[i-1][1]+abs(a[i]-b[i-1]));
		
		dp[i][0] = min(abs(a[i] - a[i - 1]) + dp[i - 1][0], abs(a[i] - b[i - 1]) + dp[i - 1][1]);
		
		//f[i][1]=min(f[i-1][0]+abs(b[i]-a[i-1]),f[i-1][1]+abs(b[i]-b[i-1]));
		dp[i][1] = min(abs(b[i] - a[i - 1]) + dp[i - 1][0], abs(b[i] - b[i - 1]) + dp[i - 1][1]);
	}
	cout <<min(dp[n][1],dp[n][0]);
	return 0;
}

2025/6/26 16:08
加载中...