代码如下
#include<iostream>
#include<cmath>
using namespace std;
int bin[200000],shi1,shi2,shi[200000],m,n,p1,s1,s2,p2;
int main()
{
cin>>n;
for(int i=0;i<n;i++) cin>>bin[i];
cin>>m>>p1>>s1>>s2;
m--;
for(int i=0;i<n;i++)
{
shi[i]=bin[i]*abs(m-i);
}
for(int i=0;i<m;i++) shi1+=shi[i];
for(int i=m+1;i<n;i++) shi2+=shi[i];
if(p1<m) shi1+=(m-p1)*bin[p1-1];
else shi2+=(p1-m)*bin[p1-1];
int cha=shi2-shi1;
if(cha==0) cout<<m;
int maxn=cha>0?abs(cha-s2*(m)):abs(cha-s2);
if(cha>0)
{
for(int i=0;i<=m;i++)
{
if(abs(cha-s2*(m-i))<maxn)
{
maxn=abs(cha-s2*(m-i));
p2=i;
}
}
}
if(cha<0)
{
for(int i=m;i<n;i++)
{
if(abs(cha-s2*(i-m))<maxn)
{
maxn=abs(cha-s2*(i-m));
p2=i;
}
}
}
cout<<p2+1;
}