社区讨论
92求助
P5016[NOIP 2018 普及组] 龙虎斗参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mi7x1t3j
- 此快照首次捕获于
- 2025/11/21 05:01 4 个月前
- 此快照最后确认于
- 2025/11/21 05:01 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
long long mi=1e19;
struct ss
{
long long sum;
long long jl,r;
}c[100001];
long long ab(long long a)
{
if(a<0)
return -a;
return a;
}
long long n,m,p1,s1,s2,p2,a,b;
int main()
{
scanf("%lld",&n);
for(long long i=1;i<=n;i++)
{
scanf("%lld",&c[i].r);
}
scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
c[p1].r+=s1;
for(long long i=1;i<m;i++)
{
c[i].jl=m-i;
c[i].sum=c[i].jl*c[i].r;
a+=c[i].sum;
}
for(long long i=m+1;i<=n;i++)
{
c[i].jl=i-m;
c[i].sum=c[i].jl*c[i].r;
b+=c[i].sum;
}
if(a==b)
printf("%lld",m);
if(a<b)
{
for(long long i=1;i<=m;i++)
{
if(ab(a+c[i].jl*s2-b)<mi)
{
mi=ab(a+c[i].jl*s2-b);
p2=i;
}
}
}
else
{
for(long long i=m;i<=n;i++)
{
if(ab(b+c[i].jl*s2-a)<mi)
{
mi=ab(b+c[i].jl*s2-a);
p2=i;
}
}
}
printf("%lld",p2);
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...