题目描述 输入 输出 样例输入,输出 输入 #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 */