源代码:
#include<bits/stdc++.h>
using namespace std;
long long n,m,p1,s1,s2,ls=0,hs=0,c[100011],i,p2;
int main(){
cin>>n;
for(i=1;i<=n;i++)
cin>>c[i];
cin>>m>>p1>>s1>>s2;
for(i=1;i<m;i++) ls+=abs(m-i)*c[i];
for(i=n;i>m;i--) hs+=abs(i-m)*c[i];
if(p1>m) hs+=s1*abs(m-p1);
else if(p1<m) ls+=s1*abs(p1-m);
long long ans=m;
long long minn=abs((ls+(s2*(m-p2)))-hs);
for(i=2;i<=n;i++){
long long xhs=hs;
long long xls=ls;
p2=i;
if(p2<m) xls+=s2*abs(m-p2);
else if(p2>m) xhs+=s2*abs(p2-m);
if(abs(xhs-xls)<minn){
minn=abs(xls-xhs);
ans=p2;
}
}
cout<<ans;
return 0;
}
为啥96分球差错,谢谢