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";
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现