真的很短,很努力让您看明白我的代码啦
92分错倒数第一和倒数第三个点
求助啊啊啊啊啊啊我还想在其它题目塔塔开啊
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,asd[1000010],m,p1,s1,s2,suml=0,sumh=0;
int temp=100000010,flag=10000010;
int main(){
cin>>n;
for(ll i=1;i<=n;i++)cin>>asd[i];
cin>>m>>p1>>s1>>s2;
flag=m;
asd[p1]+=s1;
for(ll i=1;i<m;i++)suml=suml+asd[i]*(m-i);
for(ll i=m+1;i<=n;i++)sumh=sumh+asd[i]*(i-m);
for(ll i=1;i<=n;i++){
ll sumltemp=0,sumhtemp=0;
if(i<m){
sumltemp=suml-asd[i]*(m-i)+(asd[i]+s2)*(m-i);
sumhtemp=sumh;
}else if(i>m){
sumltemp=suml;
sumhtemp=sumh-asd[i]*(i-m)+(asd[i]+s2)*(i-m);
}else if(i==m){
sumltemp=suml;
sumhtemp=sumh;
}
if(temp>abs(sumhtemp-sumltemp)){
temp=abs(sumhtemp-sumltemp);
flag=i;
}
}
cout<<flag;
return 0;
}