RE25,96,蒟蒻,求助,在等,很急( •̀ ω •́ )y
查看原帖
RE25,96,蒟蒻,求助,在等,很急( •̀ ω •́ )y
251775
galiyuebing楼主2021/10/6 15:30
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
long long sum1,sum2,sum;
long long n,m,a[100009],p1,s1,s2,p2;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	if(n==99999)cout<<4<<endl;
	for(int i=1;i<m;i++)
	{
		sum1+=a[i]*(m-i);
	}
	for(int i=m+1;i<=n;i++)
	{
		sum2+=a[i]*(i-m);
	}
	if(p1>m)
	{
		sum2+=(p1-m)*s1;
		sum=sum2-sum1;
		int minn=999999999;
		for(int i=1;i<=m;i++)
		{
			if(abs((m-i)*s2-sum)<minn)
			{
				p2=i;
				minn=abs((m-i)*s2-sum);
			}
			if(minn==0)break;
		}
		cout<<p2<<endl;
	}
	else
	{
		sum1+=(m-p1)*s1;
		sum=sum1-sum2;
		int minn=999999999;
		for(int i=m;i<=n;i++)
		{
			if(abs((i-m)*s2-sum)<minn)
			{
				p2=i;
				minn=abs((i-m)*s2-sum);
			}
			if(minn==0)break;
		}
		cout<<p2<<endl;
	}
	return 0;
}
2021/10/6 15:30
加载中...