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

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.xdnf.cn/news/612235.html

相关文章:

  • 74. 搜索二维矩阵
  • 论文Review 地面分割 GroundGrid
  • 方案精读:92页银行数据管控体系设计方案【附全文阅读】
  • Nginx中root与alias的区别及用法
  • TCP 三次握手,第一次握手报文丢失会发生什么?
  • 中国经济的结构性困境与制度性瓶颈:关键卡点深度解析
  • 信号与系统06-系统建模与AI融合
  • JVM—Java对象
  • PLC 数据采集网关 (三格电子)
  • 如何选择服务器机房托管服务?
  • 主类网络和无类网络,什么是主类网络边界
  • bi软件是什么?bi软件是做什么用的?
  • 【PINN】DeepXDE学习训练营(32)——pinn_forward-fractional_diffusion_1d.py
  • YOLOv11改进 | Conv/卷积篇 | 2024 ECCV最新大感受野的小波卷积WTConv助力YOLOv11有效涨点
  • docker镜像操作
  • 《深度揭秘:解锁智能体大模型自我知识盲区探测》
  • 若依 Plus 自定义字典的使用
  • 自动生成md文件以及config.mjs文件-vitepress
  • Flink基于Yarn多种启动方式详解
  • C++之fmt库介绍和使用(3)
  • CARIS HIPS and SIPS 12.1是专业的多波束水深数据和声呐图像处理软件
  • Graph RAG应用实战
  • socc 19 echash论文部分解读
  • 深度学习优化器相关问题
  • yolov5 安卓运行
  • Docker部署Zookeeper集群
  • C++学习之打车软件—JNI终端编程业务④https协议session开发
  • Open CASCADE学习|非线性方程组求解技术详解
  • 公司内网本地的SVN没有公网IP地址,在家外网也能远程访问SVN服务!
  • postgresql 的优劣势比较