1 条题解

  • 0
    @ 2022-10-23 14:35:18

    这题由于我没开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
    上传者