Y • 3天前
using namespace std; typedef long long ll; const int N = 100010; int a[N]; int n,m,p1,s1,s2;
int main(){
scanf("%d",&n);
for(int i = 1;i<=n;i++) scanf("%d",&a[i]);
scanf("%d%d%d%d",&m,&p1,&s1,&s2);
ll dragon = 0,tiger = 0;
for(int i=1;i<m;i++) dragon += 1ll * a[i] * (m-i);
for(int i=m+1;i<=n;i++) tiger += 1ll * a[i] * (i-m);
if(p1 < m) dragon += 1ll * s1 * (m - p1);
if(p1 > m) tiger += 1ll * s1 * (p1 - m);
ll md = LLONG_MAX;
int pos = 0;
for(int i=1;i<=n;i++){
ll diff, add;
if(i<m){
add = 1ll * s2 * (m-i);
diff = abs((dragon+add) - tiger);
}
if(i>m){
add = 1ll * s2 * (i-m);
diff = abs((tiger+add) - dragon);
}
if(i==m) diff = abs(dragon -tiger);
if(diff < md){
pos = i;
md = diff;
}
}
cout << pos ;
return 0;
}
评论:
请先登录,才能进行评论