64分求助(
查看原帖
64分求助(
319818
肖肖0109楼主2020/11/5 23:56
#include <bits/stdc++.h>
using namespace std;
int n,m,p1,s1,s2,sl1,sl2,cj,aa,ans;
int mina=50000;
int a[100000];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	cin>>m>>p1>>s1>>s2;
	for(int i=1;i<m;i++)
	{
		sl1+=a[i]*(m-i);
	}
	for(int i=n;i>m;i--)
	{
		sl2+=a[i]*(i-m);
	}
	if(p1>m)  sl2+=s1*(p1-m);
	else 
	{
		if(p1==m)  p1++;
		else sl1+=s1*(m-p1);
	}
	if(sl1<sl2)   cj=sl2-sl1;
	else cj=sl1-sl2;
	if(sl1==sl2)
	{
		printf("%d\n",m);
		return 0;
	}
	if(sl1<sl2)
	{
		for(int i=1;i<m;i++)
		{
			aa=s2*(m-i);
			aa=abs(cj-aa);
			if(aa<mina)  
			{
				mina=aa;
				ans=i;
			}
		}
	}
	else
	{
		for(int i=m+1;i<=n;i++)
		{
			aa=s2*(i-m);
			aa=abs(cj-aa);
			if(aa<mina) 
			{
				mina==aa;
				ans=i;
			}
		}
	}
	 printf("%d\n",ans);
	return 0;
}
2020/11/5 23:56
加载中...