题目描述
输入
输出
样例输入,输出
输入 #1 输出 #1
6 2
2 3 2 3 2 3
4 6 5 2
输入 #2 输出 #2
6 1
1 1 1 1 1 16
5 4 1 1
提示
代码
#include <bits/stdc++.h>
using namespace std;
long long n,m,dragon,tiger,qishi[100100],r[100100],s1,s2,p1,num,minn=INT_MAX,minni,d2,t2;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>r[i];
}
cin>>m>>p1>>s1>>s2;
r[p1]+=s1;
for(int j=1;j<=m-1;j++)
{
qishi[j]=(m-j)*r[j];
dragon+=qishi[j];
}
for(int j=m+1;j<=n;j++)
{
qishi[j]=(j-m)*r[j];
tiger+=qishi[j];
}
for(int i=1;i<=n;i++)//枚举s2位置
{
//d2为龙阵营加上s2的气势,t2同理
d2=dragon;
t2=tiger;
if(i<m)
{
d2+=s2*(m-i);
}
if(i>m)
{
t2+=s2*(i-m);
}
//cout<<d2<<" "<<t2<<endl;
num=abs(d2-t2);
if(minn>num)
{
minn=num;
minni=i;
}
}
cout<<minni;
return 0;
}
/*
5
2 2 3 2 2
3 3 10000 2
*/