68分求改
查看原帖
68分求改
1496649
gqy1234楼主2025/7/31 17:46
#include<bits/stdc++.h>
using namespace std;
int n;
int c[100005];
int m,p1,s1,s2;
long long lq=0,hq=0;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)cin>>c[i];
	cin>>m>>p1>>s1>>s2;
	for(int i=1;i<=m-1;i++)lq+=(m-i)*c[i];
	for(int i=m+1;i<=n;i++)hq+=(i-m)*c[i];
	if(p1>m)hq+=(p1-m)*s1;
	if(p1<m)lq+=(m-p1)*s1;
	if(lq==hq)cout<<m;
	if(lq>hq)
	{
		long long k=lq-hq;int wz;
		if(abs(hq+k/s2*s2-lq)<=abs(hq+(k/s2+1)*s2-lq))wz=m+k/s2;
		else wz=m+k/s2+1;
		if(wz>n)wz=n;
		if(lq-hq<abs(hq+(wz-m)*s2-lq))wz=m;
		cout<<wz;
	}
	if(lq<hq)
	{
		long long k=hq-lq;int wz;
		if(abs(lq+k/s2*s2-hq)>abs(lq+(k/s2+1)*s2-hq))wz=m-k/s2;
		else wz=m-k/s2-1;
		if(wz<1)wz=1;
		if(hq-lq<abs(lq+(m-wz)*s2-hq))wz=m;
		cout<<wz;
	}
	return 0;
}
2025/7/31 17:46
加载中...