社区讨论

萌新刚学OI 0.1s,16pts 4AC21WA求条

P5016[NOIP 2018 普及组] 龙虎斗参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mhj1la36
此快照首次捕获于
2025/11/03 19:13
4 个月前
此快照最后确认于
2025/11/03 19:13
4 个月前
查看原帖
11 小号关注求条
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=1e5+5;
ll n,m,p1,s1,s2,a[N],minn=0x3f,ans=1;
ll sum1=0,sum2=0;
ll f(ll x,ll sum2,ll sum1){
	if(x<m)sum1=sum1+s2*(m-x);
	else if(x>m)sum2=sum2+s2*(x-m);
	return abs(sum1-sum2);
}
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++)cin>>a[i];
	cin>>m>>p1>>s1>>s2;
	a[p1]=a[p1]+s1;
	for(ll i=1;i<m;i++)sum1=sum1+a[i]*(m-i);
	for(ll i=m+1;i<=n;i++)sum2=sum2+a[i]*(i-m);
	for(ll i=1;i<=n;i++){
		ll s=f(i,sum2,sum1);
		if(i<m)
		if(minn>s){
			minn=s;
			ans=i;
		}
	}
	cout<<ans;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...