求调龙虎斗
  • 板块学术版
  • 楼主sdsshwt
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/21 16:48
  • 上次更新2025/1/21 19:32:22
查看原帖
求调龙虎斗
834251
sdsshwt楼主2025/1/21 16:48
#include <bits/stdc++.h>
using namespace std;
int n,a[100005];
long long qs1,qs2,ans,TS=1,m,p1,s1,p2,s2;
int main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
	a[p1]+=s1;
	for(int i=1;i<m;i++)qs1+=(long long)(m-i)*a[i];
	for(int i=m+1;i<=n;i++)qs2+=(long long)(i-m)*a[i];
	ans=abs(qs1+s2*(m-1)-qs2);
	for(int i=2;i<=m;i++){
		long long t=abs(qs1+s2*(m-i)-qs2);
		if(ans>t)ans=t,TS=i;
	}
	for(int i=m+1;i<=n;i++){
		long long t=abs(qs1+s2*(i-m)-qs2);
		if(ans>t)ans=t,TS=i;
	}
	cout<<TS;
	return 0;
}

64分

2025/1/21 16:48
加载中...