求debag!!!
#include<cstdio>
const int N = 100000 + 11;
long long n, a[N];
long long m, p1, s1, s2;
long long lans = 0, rans = 0;
long long ans = 0x7fffffff, id;
long long num(long long a, long long b){
if(a > b)
return a - b;
else
return b - a;
}
int main(){
scanf("%lld",&n);
for(int i = 1;i <= n; i++)
scanf("%lld", &a[i]);
scanf("%lld%lld%lld%lld",&m, &p1, &s1, &s2);
for(int i = 1; i < m; i++){
if(i == p1)
lans += (a[i] + s1) * (m - i);
else
lans += a[i] * (m - i);
}
for(int i = m + 1; i <= n; i++){
if(i == p1)
rans += (a[i] + s1) * (i - m);
else
rans += (a[i]) * (i - m);
}
long long l, r;
long long tmp1, tmp2;
if(lans >= rans){
for(int i = m; i <= n; i++){
tmp2 = rans + num((long long)i, m) * s2;
if(ans > num(tmp2, lans)){
ans = num(tmp2, lans);
id = i;
}
tmp1 = tmp2;
}
}else{
for(int i = 1; i < m; i++){
tmp2 = lans + num((long long)i, m) * s2;
if(ans > num(tmp2, rans)){
ans = num(tmp2, rans);
id = i;
}
tmp1 = tmp2;
}
}
printf("%lld", id);
return 0;
}