76分QAQ
查看原帖
76分QAQ
528802
AC_notonlyAC楼主2022/7/17 12:37
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005],m,p1,s1,s2,lq=0,hq=0;
int main()
{
	cin>>n; 
	for(long long i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	a[p1]+=s1;
	for(long long i=1;i<m;i++)
	{
		lq+=a[i]*(m-i);
	}
	for(long long i=m+1;i<=n;i++)
	{
		hq+=a[i]*(i-m);
	}
	long long maxx=abs(lq-hq),id=m;
//	if(lq<hq)
//	{
		for(long long i=1;i<=m;i++)
		{
			lq+=s2*(m-i); 
			if((abs(lq-hq))<maxx) 
			{
				maxx=abs(lq-hq);
				id=i;
			}
			
			lq-=s2*(m-i);
		}
//	}
	//if(lq>hq)
	//{
		for(long long i=m;i<=n;i++)
		{
			hq+=s2*(i-m);
			if((abs(lq-hq))<maxx) 
			{
				maxx=abs(lq-hq);
				id=i;
			}
			lq-=s2*(i-m);
		}
	//}
//	if(lq==hq)
//	{
//		id=m;
//	}
	cout<<id;
}

76分求助!

2022/7/17 12:37
加载中...