我太难了!
查看原帖
我太难了!
362529
dang_dang楼主2021/8/19 10:41

32分代码...

#include<bits/stdc++.h>
#define maxn 10005
using namespace std;
typedef long long ll;
int n,m;

ll q1=0,q2=0;
ll s1,s2,p1,p2;
int abs(int n) {return n>0 ?n:n*-1;}
int main()
{
	cin>>n;
	ll c[n],q[n];
	for(int i=0;i<n;i++) cin>>c[i];
	cin>>m>>p1>>s1>>s2;
	c[p1]+=s2; 
	for(int i=0;i<n;i++)
	{
		q[i]=c[i]*abs(i+1-m);
		if(i<m) q1+=q[i];
		else if(i>m) q2+=q[i];
	}
	ll dif=q1-q2;
	ll ans=1e18;
	ll ans1=q1-q2;
	for(int i=0;i<n;i++)
	{
		ll temp=(c[i]+s2)*(i-m+1);
		if(abs(ans1+temp)<ans)
		{
			p2=i;
			ans=abs(ans1+temp);
		}
	}
	cout<<p2+1;
	return 0;
}
2021/8/19 10:41
加载中...