Codeforces Round #553 (Div. 2) E

考虑每条边的贡献 

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+5;

ll a[maxn],n;
ll ans;

int main(int argc, char const *argv[])
{
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n+1;i++)
	{
		if(a[i-1]<a[i]) ans+=(a[i]-a[i-1])*(n-a[i]+1);
		else ans-=(a[i]-a[i-1])*a[i];
	}
	cout<<ans<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/wzazzy/article/details/89679827