#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;
long long a[100005];
int main()
{
long long n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
long long m,p1,s1,s2;
cin>>m>>p1>>s1>>s2;
long long x1=0,x2=0; //x1,x2分别为龙与虎的气势和
a[p1]=a[p1]+s1;
for(int i=1;i<m;i++)
{
x1=x1+a[i]*(m-i);
}
for(int i=m+1;i<=n;i++)
{
x2=x2+a[i]*(i-m);
}
long long min=x1-x2; //min是龙与虎最小的差
int key; //key为该放入兵营的下标
if(min<0) min=min*-1;
int flag=0;
if(x1<x2) //应向龙中加兵
{
int t=m-1; //t为所测点距离m的变量 此时数组检验的下标为1,2,3。。。
while(t>0)
{
int x=s2*t+x1-x2;
if(x<0) x=x*-1;
if(min>x)
{
min=x;
key=m-t;
flag=1;
}
t--;
}
}else if(x1>x2) //应向虎中加兵
{
int t=n-m-1; //此时数组检验的下标为m+1,m+2,m+3....
while(t<n-m+1)
{
int x=s2*t+x2-x1;
if(x<0) x=x*-1;
if(min>x)
{
min=x;
key=m+t;
flag=1;
}
t++;
}
}else{ //应向m中加兵
cout<<m;
return 0;
}
if(flag==0)
{
cout<<m;
return 0;
}
cout<<key;
return 0;
}
求助各位谢谢