#include<iostream>
#include<algorithm>
using namespace std;
const int N=100005;
long long n,arr[N],m,s1,p1,s2,p2;
long long ans_hu,ans_long;
long long ans=0x3f3f3f3f;
int main(){
// freopen("xxx.in","r",stdin);
// freopen("xxx.out","w",stdout);
scanf("%lld",&n);
for(int i=1;i<=n;i++){
scanf("%lld",&arr[i]);
}
scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
for(int i=1;i<=m-1;i++){//计算龙最开始的势力
ans_long=ans_long+(arr[i]*(m-i));
}
for(int i=m+1;i<=n;i++){//计算虎最开始的势力
ans_hu=ans_hu+(arr[i]*(i-m));
}
if(p1<m){//p_1在龙那边
ans_hu=ans_hu+(s1*(m-p1));
}else if(p1>m){//p_1在虎那边
ans_hu=ans_hu+(s1*(p1-m));
}
if(ans_long<ans_hu){
for(int i=1;i<=m-1;i++){
int x=ans_long+(s2*(m-i));
if(x<=ans_hu){
// ans=min(ans,ans_hu-x);
if(ans>ans_hu-x){
ans=ans_hu-x;
p2=i;
}
}else if(x>ans_hu){
// ans=min(ans,x-ans_hu);
if(ans>x-ans_hu){
ans=x-ans_hu;
p2=i;
}
}
}
}else if(ans_long>ans_hu){
for(int i=m+1;i<=n;i++){
int x=ans_hu+(s2*(i-m));
if(x<=ans_long){
// ans=min(ans,ans_long-x);
if(ans>ans_long-x){
ans=ans_long-x;
p2=i;
}
}else if(x>ans_long){
// ans=min(ans,x-ans_long);
if(ans>x-ans_long){
ans=x-ans_long;
p2=i;
}
}
}
}
printf("%lld",p2);
return 0;
}