以下是本人代码
只过了五组数据希望大犇帮忙找一下错误在哪,感激不尽
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
longlongn,m,p1,s1,s2,p2,w1,w2,w3,a[100005],ans,cz=100000000;
bool q;
void shuru()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
cin>>m>>p1>>s1>>s2;
}
void bsjisuan()
{
for(int i=1;i<m;i++)
w1=a[i]*abs(i-m)+w1;
for(int i=m+1;i<=n;i++)
w2=w2+a[i]*abs(i-m);
if(p1<m)
w1=w1+s2*abs(p1-m);
else
w2=w2+s2*abs(p1-m);
}
void paibing()
{
if(w1<w2)
for(int i=m;i>=1;i--)
{
w3=abs(w1+s2*abs(i-m)-w2);
q=1;
if(w3<=cz)
{
cz=w3;
q=0;
}
if(q==1)
{
cout<<i+1;
break;
}
}
if(w1>w2)
for(int i=m;i<=n;i++)
{
w3=abs(w2+s2*abs(i-m)-w1);
q=1;
if(w3<=cz)
{
cz=w3;
q=0;
}
if(q==1)
if(cz==abs(w2+s2*abs(i+2-m)-w1))
{
cout<<i-2;
break;
}
}
if(w1==w2)cout<<m;
}
int main()
{
q=1;
shuru();
bsjisuan();
paibing();
return 0;
}