前缀变换

题目传送门

整体思路:贪心

这个题很明显就是从后往前依次操作是最优的
但是这个题目有一个重要的地方: 爆int!

所欲的地方都得开long long,除非其他写法。反正我的写法就是全开long long

代码如下

#include<bits/stdc++.h>
using namespace std;
#define int long long

int n;
int a[100001],b[100001];

signed main(){
	cin.tie(0)->sync_with_stdio(0);
	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=1;i<=n;i++) b[i]-=a[i];
	long long ans=0,p=0;
	for(int i=n;i;i--){
		int x=b[i]-p;
		ans+=abs(x);
		p=b[i]; 
	}
	cout<<ans<<endl;
}
posted @ 2026-01-24 11:47  zhangruotian_Max  阅读(0)  评论(0)    收藏  举报