附:[翻车链接](https://www.luogu.org/record/25168804)
by 天野_阳菜 @ 2019-10-13 23:28:26
变量名太长懒得看了。。
by 文·和 @ 2019-10-13 23:32:31
@[文·和](/space/show?uid=127520) !
by 天野_阳菜 @ 2019-10-13 23:32:52
有那个比这个长。。。
https://www.luogu.org/blog/wzp-blog/solution-cf464d
by bellmanford @ 2019-10-13 23:38:27
。。。
```cpp
#include<iostream>
#include<cstdlib>
#include<cstdio>
#define N 100001
#define INF 0x6ffffff
using namespace std;
long long n,m,p1,s1,p2,s2;
long long Num[N],Gth[N],Dtc[N]; //Num:军营中士兵数 Gth:该军营的气势 Dtc:龙虎总气势之差
long long GthDra,GthTig; //龙、虎总气势
long long Abs(long long num) //num的绝对值
{
return num>0?num:(-num);
}
long long CAbs(long long a,long long b) //a b差的绝对值
{
return (a-b)>0?(a-b):(b-a);
}
int main()
{
scanf("%lld",&n);
for(long long i=1;i<=n;i++)
scanf("%lld",&Num[i]);
scanf("%lld%lld%lld%lld",&m,&p1,&s1,&s2);
Num[p1]+=s1; //天降奇兵
for(long long i=1;i<=n;i++)
{
Gth[i]=Num[i]*CAbs(m,i); //每个军营的气势
if(CAbs(i,1)<CAbs(m,1))
GthDra+=Gth[i];
if(CAbs(i,n)<CAbs(m,n))
GthTig+=Gth[i]; //计算总气势
}
long long GthDra_before=GthDra,
GthTig_before=GthTig; //改动之前的龙、虎总气势
for(p2=1;p2<=n;p2++)
{
GthDra=GthDra_before;
GthTig=GthTig_before; //初始化
if(p2<m)
GthDra+=CAbs(p2,m)*s2;
if(p2>m)
GthTig+=CAbs(p2,m)*s2;
Dtc[p2]=Abs(GthDra-GthTig); //计算差值
}
long long minDtc=INF,p2_DTCMIN; //最小的差值、最小差值对应的p2
for(p2=1;p2<=n;p2++)
{
if(Dtc[p2]<minDtc)
{
minDtc=Dtc[p2];
p2_DTCMIN=p2;
}
}
printf("%lld",p2_DTCMIN);
return 0;
}
```
by 天野_阳菜 @ 2019-10-13 23:42:15
@[文·和](/space/show?uid=127520) 求来帮帮看看吧 orz%%%
by 天野_阳菜 @ 2019-10-13 23:47:16
@[bellmanford](/space/show?uid=116015) orz
by 天野_阳菜 @ 2019-10-13 23:47:27
有没有考虑过刚好落在 $M$ 点上的情况?
by 狸狸养的敏敏 @ 2019-10-14 07:33:18
@[狸狸养的敏敏](/user/58399) 才看到233
by 天野_阳菜 @ 2019-11-07 00:27:04