求助qnq我好菜
查看原帖
求助qnq我好菜
1053122
shy_lihui楼主2024/10/21 18:39

这个题好像可以用三分水过去唉

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
int a[100005];
int m,p1,s1,p2;
int l,r,ans=1e18L;
signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>p2;
	a[p1]+=s1;
	for(int i=1;i<m;i++)
	{
		l+=a[i]*abs(i-m);
	}
	for(int i=m+1;i<=n;i++)
	{
		r+=a[i]*abs(i-m);
	}
	for(int i=1;i<=n;i++)
	{
		int L=l,R=r;
		if(i<m)
		{
			L+=p2*abs(i-m); 
		}
		else if(i>m)
		{
			R+=p2*abs(i-m);
		}
		//cout<<i<<' '<<L<<' '<<R<<'\n';
		ans=min(ans,abs(L-R));
	}
	cout<<ans;
	return 0;
	
}

``
2024/10/21 18:39
加载中...