36分求助。。。
查看原帖
36分求助。。。
549437
梦中且无缺5楼主2021/10/3 13:36
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int b[n-1]={};
	for(int i=1;i<n+1;i++)
	{
		cin>>b[i];
	}
	long long int m,s1,s2,p1,p2,l=0,h=0;
	cin>>m>>p1>>s1>>s2;
	for(int i=1;i<m;i++)
		l+=i*b[i];
	for(int j=m+1;j<=n;j++)
		h+=j*b[j];
	if(p1<m) l+=s1*b[p1];
    if(p1>m) h+=s1*b[p1];
    if(p1=m) h+=0;
	
	if(l=h)
	p2=m;
	int l2;
	int a[m];
	int lans=10000;
	if(l<h)
	{
		for(int i=1;i<m;i++)
		{
			l2=l;
			l2+=s2*i;
			a[i]=abs(l2-h);
		}
		for(int i=1;i<m;i++)
		{
			if(lans>=a[i])
			{
				lans=a[i];
				p2=i;
			}
		}
	}
	int h2;
	if(l>h)
	{
		for(int i=m+1;i<=n;i++)
		{
			h2=h;
			h2+=s2*i;
			a[i]=abs(h2-l);
		}
		for(int i=m+1;i<=n;i++)
		{
			if(lans<=a[i])
			{
				lans=a[i];
				p2=i;
			}
		}
	}
	cout<<p2;
	return 0;	
}
2021/10/3 13:36
加载中...