想到的优化都做了,但还是莫名错了5个点。
非常感谢各位大佬。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
long long a[100001],n,m,p1,s1,s2,sum=0,ans=1;
scanf("%lld",&n);
for(long long i=1;i<=n;i++)scanf("%lld",&a[i]);
scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
for(long long i=1;i<=n;i++)sum+=a[i]*(m-i);
sum+=s1*(m-p1);
for(long long i=2;i<=n;i++)
{
if(abs(sum+(m-i)*s2)<abs(sum+(m-ans)*s2))ans=i;
}
printf("%lld",ans);
return 0;
}