社区讨论
40分求助
P5016[NOIP 2018 普及组] 龙虎斗参与者 2已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo3jlz7f
- 此快照首次捕获于
- 2023/10/24 07:42 2 年前
- 此快照最后确认于
- 2023/10/24 07:42 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
long long a[100000],h=0,l=0,m,n;
struct node
{
long long id,z;
}c[1000000];
void u(long long w,long long z)
{
int i;
a[w]+=z;
for(i=1;i<m;i++)
{
h=h+a[i]*abs(i-m);
}
for(i=m+1;i<=n;i++)
{
l=l+a[i]*abs(i-m);
}
a[w]-=z;
}
int cmp(node a,node b)
{
if(a.z<b.z)
{
return a.z<b.z;
}
else
{
return a.id<b.id;
}
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
//2×(4-1)+3×(4-2)+2×(4-3)=14
//2×(5-4)+(3+5)×(6-4)=18
long long i,p1,s1,s2;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
cin>>m>>p1>>s1>>s2;
a[p1]+=s1;
for(i=1;i<=n;i++)
{
u(i,s2);
// cout<<h<<' '<<l<<'\n';
c[i].z=abs(h-l);
c[i].id=i;
h=l=0;
}
sort(c+1,c+1+n,cmp);
cout<<c[1].id;
return 0;
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...