题解
2023-07-07 12:40:04
发布于:上海
14阅读
0回复
0点赞
#include<bits/stdc++.h>
#include<vector>
#include<string>
using namespace std;
typedef long long ll;
const ll N=1e8+5;
ll n,m;
ll s[100005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>s[i];
}
ll p,s1,s2;
cin>>m>>p>>s1>>s2;
s[p]+=s1;
ll ans=0,cnt=0;
for(int i=1;i<m;i++){
ans=ans+s[i]*(m-i);
}
for(int i=m+1;i<=n;i++){
cnt=cnt+s[i]*(i-m);
}
ll l=m;
int _min=999999999;
for(int i=1;i<=n;i++){
if(i==m){
if(abs(ans-cnt)<_min){
_min=abs(ans-cnt);
l=i;
}
}else if(i<m){
if(abs(ans+s2*abs(m-i)-cnt)<_min){
_min=abs(ans+s2*abs(m-i)-cnt);
l=i;
}
}else{
if(abs(ans-s2*abs(m-i)-cnt)<_min){
_min=abs(ans-s2*abs(m-i)-cnt);
l=i;
}
}
}
cout<<l<<endl;
return 0;
}
这里空空如也
有帮助,赞一个