当前位置: 首页 > article >正文

1537. 【中山市第十一届信息学邀请赛决赛】未命名 (noname)

题目描述

这是一个独一无二的世界,所以有 N 张写有互不相同的自然数的卡片,第 i 张卡片写着 Ai ,现在你得到了一个未命名的空白卡片,想在上面写上一个自然数 x 满足以下条件
1.x 不等于任意一张卡片上的数字。
2.x 可以表示为两张互不相同卡片的数字之和。
现在,你想知道有哪些自然数 x 可以写在空白卡片上。

输入

第一行一个正整数 N,表示已写有自然数的卡片数量。
第二行有 N 个用空格隔开的互不相同的自然数,表示卡片上的自然数。

输出

第一行一个正整数 M,表示可以写在空白卡片上的数字的个数。
第二行有 M 个用空格隔开的自然数,表示可以写在空白卡片上的数字,需要从小到大输出。

样例输入

4
4 9 3 5 

样例输出

5
7 8 12 13 14 

数据范围限制

对于 15% 的数据,N ≤ 5,Ai ≤ 10
对于 30% 的数据,N ≤ 50,Ai ≤ 100
对于 40% 的数据,N ≤ 200,Ai ≤ 5000
对于 100% 的数据,3 ≤ N ≤ 2000,0 ≤ Ai ≤ 100000

提示

满足条件 2 的数有 7, 8, 9, 12, 13, 14,但是 9 在已有的卡片出现过,不符合条件 1,因此答案有7, 8, 12, 13, 14

Code

#include <stdio.h>#define max(a, b) ((a) > (b) ? (a) : (b))int cnt1[200001] = {0};
int cnt2[200001] = {0};
int result[200000] = {0}; // 最多可能满足条件的数有很多
int a[2005];
int n;int main() {scanf("%d", &n);int maxd = 0; // 记录最大的卡片数字,以便后续遍历for (int i = 0; i < n; i++) {scanf("%d", &a[i]);cnt1[a[i]] = 1;if (a[i] > maxd) maxd = a[i];}// 计算所有不同卡片组合的和for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {int sum = a[i] + a[j];cnt2[sum] = 1;}}int count = 0;for (int i = 1; i <= 200000; i++) {// 数字不在已有卡片上,且可由两不同卡片之和得到if (cnt1[i] == 0 && cnt2[i] == 1) {result[count++] = i;}}printf("%d\n", count);for (int i = 0; i < count; i++) {printf("%d ", result[i]);}return 0;
}
http://www.lryc.cn/news/2384585.html

相关文章:

  • 数据库三范式详解与应用建议
  • 信息学奥赛一本通 1539:简单题 | 洛谷 P5057 [CQOI2006] 简单题
  • C++笔记-封装红黑树实现set和map
  • deepseek模拟美团高级java开发工程师面试题
  • 留给王小川的时间不多了
  • 回溯算法:解锁多种问题的解决之门
  • 国产频谱仪性能如何?矢量信号分析仪到底怎么样?
  • 熔断器(Hystrix,Resilience4j)
  • 贪心算法套路模板+详细适用场景+经典题目清单
  • C++23 容器从其他兼容范围的可构造性与可赋值性 (P1206R7)
  • 多通道振弦式数据采集仪MCU安装指南
  • Axios中POST、PUT、PATCH用法区别
  • synchronized 实现原理
  • SOC-ESP32S3部分:9-GPIO输入按键状态读取
  • 前端(小程序)学习笔记(CLASS 2):WXML模板语法与WXSS模板样式
  • Ubuntu20.04的安装(VMware)
  • 【论文阅读】LLaVA-OneVision: Easy Visual Task Transfer
  • Spring Boot 项目多数据源配置【dynamic datasource】
  • JAVA查漏补缺(2)
  • 【Web前端】JavaScript入门与基础(二)
  • 取消 Conda 默认进入 Base 环境
  • Electron+vite+vue3 从0到1搭建项目,开发Win、Mac客户端
  • 《深度揭秘:解锁智能体大模型自我知识盲区探测》
  • 打卡Day33
  • 计算机组成原理-基本运算部件定点数的运算
  • python打卡day34@浙大疏锦行
  • SOC-ESP32S3部分:8-GPIO输出LED控制
  • 05算法学习_59. 螺旋矩阵 II
  • 绘制音频信号的各种频谱图,包括Mel频谱图、STFT频谱图等。它不仅能够绘制频谱图librosa.display.specshow
  • Linux `>`/`>>` 重定向操作符深度解析与高阶应用指南