43分求调
查看原帖
43分求调
1283457
封禁用户楼主2025/4/14 21:51
#include<bits/stdc++.h>
using namespace std;
int m,n,qwe[20010][2],f[20010][2];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>qwe[i][0]>>qwe[i][1];
	}
	f[n][1]=n-qwe[n][1];
	f[n][0]=n-qwe[n][0];
	for(int i=n-1;i>=1;i--){
		f[i][0]=min(f[i+1][1]+abs(qwe[i+1][1]-qwe[i][1]),f[i+1][0]+abs(qwe[i+1][0]-qwe[i][1]))+qwe[i][1]-qwe[i][0];
		f[i][1]=min(f[i+1][1]+abs(qwe[i+1][1]-qwe[i][0]),f[i+1][0]+abs(qwe[i+1][0]-qwe[i][0]))+qwe[i][1]-qwe[i][0];
	}
	cout<<min(f[1][1]+qwe[1][1],f[1][0]+qwe[1][0])+n-2;
	return 0;
}
2025/4/14 21:51
加载中...