44?(悬关)
查看原帖
44?(悬关)
685824
shenyixuan123楼主2023/10/1 08:23

rt

#include<bits/stdc++.h>
using namespace std;
int a[100001];
int m,p,s1,s2;
int minn=INT_MAX,ans;
int main()
{
	
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
    }
    cin>>m>>p>>s1>>s2;
    a[p]+=s1;
    int lon=0,hu=0;
    for(int i=1;i<m;i++)
    {
    	lon=lon+a[i]*(m-i);
	}
	for(int i=m+1;i<=n;i++)
	{
		hu=hu+a[i]*(i-m);
	}
	for(int i=1;i<m;i++)
	{
		int x=lon;
		x=x+s2*(m-i);
		if(abs(x-hu)<minn) 
		{
		    minn=abs(x-hu);
		    ans=i;
		}
		
	}
	for(int i=m+1;i<=n;i++)
	{
		int y=hu;
		y=y+s2*(i-m);
		if(abs(lon-y)<minn) 
		{
		    minn=abs(lon-y);
		    ans=i;
		}
	}
    cout<<ans<<endl;
	return 0;
}
2023/10/1 08:23
加载中...