1 条题解
-
0
这题由于我没开long long,所以。。。。。。在这里提醒一下大家开
intlong long。/*编译结果... -------- - 错误: 0 - 警告: 0 - 输出文件名: C:\Users\Documents\2.exe - 输出大小: 1.83345699310303 MiB - 编译时间: 0.67s*/ //以防复制。 #include<bits/stdc++.h> using namespace std; long long a[100011]; int main(){ long long l=0,h=0; int i,j,k,n; long long m,s1,p1,p2; 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++){ if(i<m){ l+=a[i]*(m-i); //统计龙方的气势值 } else if(i>m){ h+=a[i]*(i-m); //统计虎方的气势值 } } long long step=abs(l-h); //step初始化为将工兵放在m号兵营里面 int ans=m; //最小号兵营一开始赋值为m号兵营 for(i=1;i<=n;i++){ if(i<m){ //在m号兵营左边加龙方的气势值 if(step>abs((l+p2*(m-i)-h))){ step=abs((l+p2*(m-i)-h)); ans=i; } } else if(i>m){ //在m号兵营左边加龙方的气势值 if(step>abs(l-(h+p2*(i-m)))){ step=abs(l-(h+p2*(i-m))); ans=i; } } } cout<<ans; return 0;//结束喽,收拾东西回家喽😄 ! }
最后祝要考复赛的同学顺利通过复赛🎉️ 🎉️ 🎉️ (其实我就是其中一位😄 😄 )!
- 1
信息
- ID
- 495
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 17
- 已通过
- 6
- 上传者