CF1807B题解

题意

Mihai 和 Bianca 正在玩一个糖果游戏,一共有 $n$ 袋糖果,如果一个袋子里的糖果数是偶数,那么 Mihai 就会得到这袋糖果,否则就是 Bianca 得到这袋糖果,Mihai 想要重新对糖果袋子进行排列,使得自己的糖果在除去最开始的时候都能比 Bianca 多。

思路

如果 Mihai 可以得到的糖果比 Bianca 多,就一定可以排列出这样的序列(比如把有偶数个糖果的袋子全部放在前面,其他的全放在后面,就一定在任何时候比 Bianca 多),所以直接判断 Mihai 的糖果总数是否严格大于 Bianca 的糖果总数就行了。

代码

#include<bits/stdc++.h>
using namespace std;
long long t,n,a[105],s1,s2;//s1代表Mihai的糖果总数,s2代表Bianca的糖果总数
int main() {
    cin>>t;
    while(t--) {
        cin>>n;
        s1=s2=0;
        for(int i=1; i<=n; i++) {
            cin>>a[i];//不用数组存也可以
            if(a[i]%2==0)s1+=a[i];//判断奇偶性
            else s2+=a[i];
        }
        if(s1>s2)cout<<"YES\n";
        else cout<<"NO\n";
    }
}
posted @   changwenxuan  阅读(5)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示