news 2026/8/2 2:16:19

打卡信奥刷题(2975)用C++实现信奥题 P6015 [CSGRound3] 游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2975)用C++实现信奥题 P6015 [CSGRound3] 游戏

P6015 [CSGRound3] 游戏

题目背景

小 Y 和小 Z 是一对好朋友,他们在玩一个游戏。游戏只有一个回合

题目描述

有一个牌堆,一共有nnn张牌,第iii张牌上有一个数aia_iai,其中第一张牌是堆顶。

小 Z 先取牌,他可以从堆顶开始取连续若干张牌(可以取000),取完的牌拿在手上,也就是不在牌堆里了。

然后小 Y 取牌,同样,她也可以从堆顶开始取连续若干张牌(可以取000)。

如果一个人手上的牌的数字和大于XXX,那么他的分数就是000,否则分数就是数字和。

分数高的人获胜,如果一样高,则无人获胜

小 Z 为了获胜,使用了透视挂,即他知道牌堆里每张牌上写的数。

现在问你对于满足1≤X≤K1 \leq X \leq K1XK的所有整数XXX,哪些可以使得小 Z 有必胜策略,即小 Z 取完后,不管小 Y 怎么取都一定会

输入格式

第一行一个整数nnn,表示牌堆里有几张牌。

第二行nnn个整数a1…na_{1\dots n}a1n,表示每张牌上写的数。

第三行一个正整数KKK,含义见题目描述。

输出格式

第一行一个整数,表示满足要求的XXX的个数。

第二行从小到大依次输出满足要求的XXX,用空格隔开。

输入输出样例 #1

输入 #1

5 1 4 3 2 2 5

输出 #1

3 1 2 3

说明/提示

【样例解释】

X=1,2,3X=1,2,3X=1,2,3时,小 Z 取一张牌,小 Y 不管怎么取都是零分。

X=4X=4X=4时,小 Z 如果取111张,那么小 Y 取111张小 Y 就赢了;否则小 Z 只能是零分。

X=5X=5X=5时,小 Z 如果取111张,那么小 Y 取111张小 Y 就赢了;小 Z 如果取了222张,小 Y 也取222张,平局;否则小 Z 只能是零分。


【数据范围】

本题采用捆绑测试。

  • Subtask 1(3 points):n=1n = 1n=1
  • Subtask 2(14 points):K=1K= 1K=1
  • Subtask 3(20 points):n,K≤100n,K \le 100n,K100
  • Subtask 4(33 points):n,K≤3333n , K \le 3333n,K3333
  • Subtask 5(30 points):无特殊限制。

对于100%100\%100%的数据,1≤n,K≤1061\leq n,K \leq 10^61n,K1061≤ai≤K1\leq a_i \leq K1aiK

C++实现

#include<iostream>usingnamespacestd;longlonga[1000005],res[1000005];intmain(){ios::sync_with_stdio(false);intn,k,ans=0;cin>>n;for(inti=1;i<=n;i++){cin>>a[i];a[i]+=a[i-1];}cin>>k;for(inti=1;i<=n;i++){if(a[i]>=k)break;intp=lower_bound(a+1,a+n+1,2*a[i])-a;if(p==n+1||a[p]-a[i]>k){res[a[i]]++;res[k+1]--;break;}res[a[i]]++;res[a[p]-a[i]]--;}for(inti=1;i<=k;i++){res[i]+=res[i-1];if(res[i])ans++;}cout<<ans<<endl;for(inti=1;i<=k;i++)if(res[i])cout<<i<<' ';return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 15:01:40

GitHub 热榜项目 - 日榜(2026-03-18)

GitHub 热榜项目 - 日榜(2026-03-18) 生成于&#xff1a;2026-03-18 统计摘要 共发现热门项目&#xff1a; 6 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期 GitHub 热榜呈现出“ Agent 深度工程化”与“开发者技能重构”的双重趋势。技术重心正从简单的模型调用转向…

作者头像 李华
网站建设 2026/7/14 15:01:40

【异常】OpenClaw 启动异常:插件路径丢失plugin: plugin path not found与未知渠道unknown channel id: feishu报错排查指南

在部署或升级 OpenClaw 网关时,由于本地依赖缺失或配置文件未同步更新,经常会遇到插件无法加载的异常。本文将针对典型的“飞书插件丢失”及“记忆组件缺失”报错提供完整的排查与解决思路。 一、报错内容 在启动 OpenClaw 时,控制台或日志输出如下 JSON 格式的异常提示: …

作者头像 李华
网站建设 2026/7/14 15:01:41

【统计检验】T检验

统计检验必学&#xff1a;T检验&#xff5c;三种类型公式推导Python代码机器学习实战 T检验是统计学、数据分析、机器学习中最常用、最基础的均值检验方法&#xff0c;专门用来判断两组数据的均值是否存在显著差异。一、T检验到底是什么&#xff1f;&#xff08;一句话看懂&…

作者头像 李华
网站建设 2026/7/14 15:01:53

网络基础 + BIO/NIO通讯 (Netty) + 责任链模式

Git误操作急救手册大纲常见误操作场景分类提交相关误操作&#xff1a;误提交敏感信息、提交信息错误、漏提交文件分支相关误操作&#xff1a;误删分支、错误合并分支、强制推送导致覆盖历史记录误操作&#xff1a;误用rebase导致冲突、误删commit工作区误操作&#xff1a;误删未…

作者头像 李华
网站建设 2026/7/14 15:01:42

Kioxia宣布推出针对AI GPU发起式工作负载进行优化的全新固态硬盘型号

KIOXIA超高IOPS固态硬盘为NVIDIA Storage-Next™架构提供高性能、低延迟内存扩展方案 Kioxia Corporation今日宣布开发出超高IOPS固态硬盘&#xff0c;这是一款可让GPU直接访问高速闪存、作为AI系统中高带宽内存(HBM)扩展的新型固态硬盘。全新的超高IOPS固态硬盘KIOXIA GP系列专…

作者头像 李华
网站建设 2026/7/14 15:01:55

知识点总结(基础命令)

一、Linux 系统基础认知1. 核心概念要记牢Linux 的核心是内核&#xff0c;1991 年由林纳斯・托瓦兹开发&#xff0c;而我们日常使用的 Linux 系统&#xff0c;其实是发行版—— 也就是 “内核 配套软件” 的完整系统&#xff0c;这也是 Linux 能适配不同场景的关键。它的核心特…

作者头像 李华