2 条题解

  • 0
    @ 2025-10-8 17:10:09
    #include <bits/stdc++.h>//万能头文件好 
    using namespace std;
    #define ll long long//个人习惯 
    ll a[1000005];//数组最好放外面
    int main(){
    	ll n,ans=0,i;//先定义好,ans即答案,i为循环变量
    	scanf("%lld",&n);//输入n
    	for(i=1;i<=n;i++){
    		scanf("%lld",&a[i]);//输入其它数
    		ans+=a[i];//边读边加会快些(Maybe?
    	}
    	if(ans%2==0){//若和已经为偶数了
    		printf("%lld\n",ans);//直接输出
    		return 0;//提前结束程序
    	}
    	else{//否则
    		if(n==1){
    			printf("NIESTETY\n");//输出不可能的情况
    			return 0;//提前结束程序
    		}//这一步上文有解释
    		sort(a+1,a+1+n);//用sort把最小的放前面,好找
    		for(i=1;i<=n;i++){
    			if(a[i]%2==1){//若是奇数
    				printf("%lld\n",ans-a[i]);
    				//输出总和减去这个数即为答案,前文有解释
    				return 0;//提前结束程序
    			}
    		}
    	}
    	return 0;//over~
    }
    
    • 0
      @ 2025-10-8 17:10:01
      #include<bits/stdc++.h>//万能头文件好 
      using namespace std;
      #define ll long long//个人习惯 
      ll a[1000005];//数组最好放外面
      int main(){
      	ll n,ans=0,i;//先定义好,ans即答案,i为循环变量
      	scanf("%lld",&n);//输入n
      	for(i=1;i<=n;i++){
      		scanf("%lld",&a[i]);//输入其它数
      		ans+=a[i];//边读边加会快些(Maybe?
      	}
      	if(ans%2==0){//若和已经为偶数了
      		printf("%lld\n",ans);//直接输出
      		return 0;//提前结束程序
      	}
      	else{//否则
      		if(n==1){
      			printf("NIESTETY\n");//输出不可能的情况
      			return 0;//提前结束程序
      		}//这一步上文有解释
      		sort(a+1,a+1+n);//用sort把最小的放前面,好找
      		for(i=1;i<=n;i++){
      			if(a[i]%2==1){//若是奇数
      				printf("%lld\n",ans-a[i]);
      				//输出总和减去这个数即为答案,前文有解释
      				return 0;//提前结束程序
      			}
      		}
      	}
      	return 0;//over~
      }
      • 1

      信息

      ID
      5956
      时间
      10000ms
      内存
      256MiB
      难度
      10
      标签
      递交数
      2
      已通过
      1
      上传者