RT,龙虎斗44求调(悬2关)
#include<bits/stdc++.h>
using namespace std;
#define int long long
int m,p1,s1,s2;
int n;
int idx;
const int maxn = 1e5+1;
int a[maxn];
int minn=1e18;
int dragon() {
int qishi=0;
for(int i=1;i<m;i++){
qishi+=a[i]*(m-i);
}
return qishi;
}
int tiger() {
int qishi=0;
for(int i=m+1;i<=n;i++){
qishi+=a[i]*(i-m);
}
return qishi;
}
signed main() {
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i];
}
cin>>m>>p1>>s1>>s2;
a[p1]+=s1;
if(dragon()>tiger()) {
for(int i=m+1;i<=n;i++) {
a[i]+=s2;
if(abs(tiger()-dragon())<minn) {
minn=abs(tiger()-dragon());
idx=i;
}
a[i]-=s2;
}
}
if(dragon()<tiger()) {
for(int i=1;i<m;i++) {
a[i]+=s2;
if(abs(tiger()-dragon())<minn) {
minn=abs(tiger()-dragon());
idx=i;
}
a[i]-=s2;
}
}
cout<<idx;
return 0;
}