社区讨论
88分求找错
P5016[NOIP 2018 普及组] 龙虎斗参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi7rscwc
- 此快照首次捕获于
- 2025/11/21 02:33 4 个月前
- 此快照最后确认于
- 2025/11/21 02:33 4 个月前
#include<bits/stdc++.h>
using namespace std;
long long a[2000000];
int main()
{
long long s1,s2,sum1=0,sum2=0,c,d,mins=9e18,b;
int n,m,p1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]);
scanf("%d%d%lld%lld",&m,&p1,&s1,&s2);
int k=m;
for(int i=1;i<=n;i++){
if(i<m)
sum1+=(m-i)*a[i];
if(i>m)
sum2+=(i-m)*a[i];
}
if(p1<m)
sum1=sum1+(m-p1)s1;
if(p1>m)
sum2=sum2+(p1-m)s1;
for(int i=1;i<=n;i++){
c=sum1;
d=sum2;
if(d>c)
c=sum1+s2(m-i);
if(d<c)
d=sum2+s2(i-m);
b=abs(c-d);
if(b<mins&&b!=0){
mins=b;
k=i;
}
}
printf("%d",k);
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...