社区讨论
80分求助
P5016[NOIP 2018 普及组] 龙虎斗参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lobjjucb
- 此快照首次捕获于
- 2023/10/29 22:03 2 年前
- 此快照最后确认于
- 2023/11/04 03:06 2 年前
求助 80分
C#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,m,a[100005],p,s1,s2,dr=0,ti=0,ans,min=5*10e18;
cin >> n;
for(int i = 1;i <= n;i++)cin >> a[i];
cin >> m >> p >> s1 >> s2;
for(int i = 1;i <= m-1;i++)
{
dr+=a[i]*(m-i);
}
for(int i = m+1;i<=n;i++)
{
ti+=a[i]*(i-m);
}
if(p<m)dr+=s1*(m-p);
else ti+=s1*(p-m);
if(dr==ti)ans=m;
else if(dr<ti)
{
for(int i = 1;i <= m;i++)
{
int now,q;now=dr;
now+=s2*(m-i);
q=abs(now-ti);
if(q<min)
{
min=q;
ans=i;
}
}
}
else
{
for(int i = m;i<=n;i++)
{
int now,q;
now=ti;
now+=s2*(i-m);
q=abs(now-dr);
if(q<min)
{
min=q;
ans=i;
}
}
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...