76分求助
查看原帖
76分求助
469437
初一张艺嘉楼主2022/7/2 15:01
#include<cmath>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int n,m,p1,f=0;
long long a,b,s1,s2,c[100002],e;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>c[i];
	}
	cin>>m>>p1>>s1>>s2;
	c[p1]=c[p1]+s1;
	for(int i=1;i<=m-1;i++)
	{
		a=a+(m-i)*c[i];
	}
	for(int i=m+1;i<=n;i++)
	{
		b=b+(i-m)*c[i];
	}
	if(a==b)
	{
		cout<<m;
		return 0;
	}
	if(a>b)
	{
		e=a-b;
		for(int i=m+1;i<=n;i++)
		{
			b=b+(i-m)*s2;
			if(abs(b-a)<e)
			{
				e=abs(b-a);
				f=i;
				b=b-(i-m)*s2;
				continue;
			}
			if(abs(b-a)>e)
			{
				b=b-(i-m)*s2;
				break;
			}
		}
		if(f==0)
		{
			cout<<m;
			return 0;
		}
		else
		{
			cout<<f;
			return 0;
		}
	}
	if(a<b)
	{
		e=b-a;
		for(int i=1;i<=m-1;i++)
		{
			a=a+(m-i)*s2;
			if(abs(b-a)<e)
			{
				e=abs(b-a);
				f=i;
				a=a-(m-i)*s2;
				continue;
			}
			if(abs(b-a)>e)
			{
				a=a-(m-i)*s2;
				break;
			}
		}
		if(f==0)
		{
			cout<<m;
			return 0;
		}
		else
		{
			cout<<f;
			return 0;
		}
	}
	return 0;
}
2022/7/2 15:01
加载中...