题目传送门(内部题22)


输入格式

第一行有$2$个整数$n,k$。
第二行有$n$个正整数$a_i$。


输出格式

第一行有一个整数$s$,表示可以生成的非负整数的个数。
第二行有$s$个可以生成的非负整数。


样例

样例输入:

2 8
4 12

样例输出:

2
0 4


数据范围与提示

样例解释:

有无穷种方案可以得到$x=0$,例如:
$b_1=0$、$b_2=0$,$b_1=2$、$b_2=0$,$b_1=1$、$b_2=1$等等。
有无穷种方案可以得到$x=4$,例如:
$b_1=1$、$b_2=0$,$b_1=1$、$b_2=2$,$b_1=3$、$b_2=4$等等。
更多输入输出样例请见选手下发文件夹。

数据范围:

对于所有数据,$1\leqslant n\leqslant 5\times {10}^5,1\leqslant k\leqslant {10}^6,1\leqslant a_i\leqslant {10}^9$。


题解

利用裴蜀定理(找规律)可以发现所有能生成的数都是$k$和所有$a_i$的$gcd$且比$k$小,于是我们就$A$掉这道题了。

时间复杂度:$\Theta(n)$。

期望得分:$100$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
int k,x,g,i;
main()
{
cin>>x>>k;
g=k;
while(cin>>x)g=__gcd(g,x);
cout<<k/g<<endl;
while(i<k)cout<<i<<' ',i+=g;
}

rp++

最新文章

  1. maven学习(下)利用Profile构建不同环境的部署包
  2. 谈谈UI架构设计的演化
  3. excel 转换日期
  4. javascript的switch的使用注意
  5. [PHP知识点乱炖]四、全局变量——小偷从良记
  6. C++ 之旅:前言
  7. sudo密码错误的解决办法
  8. linux设置环境变量
  9. hdu--1258--Sum It Up(Map水过)
  10. ios初体验&lt; 运用属性传值,登录&gt;
  11. js函数的作用域与this指向
  12. Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
  13. Shell脚本之grep
  14. nginx反向代理-解决前端跨域问题
  15. 前端自动化构建工具 gulp 学习笔记 一、
  16. Javascript - ExtJs - Itemselector
  17. Chapter5 生长因子、受体和癌症
  18. Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程(转)
  19. 【062有新题】OCP 12c 062出现大量之前没有的新考题-16
  20. SocketServer源码学习补充

热门文章

  1. MySQL 对比数据库的表结构
  2. CSS学习笔记2:选择器
  3. Cookie 记录最后访问时间
  4. 网络流强化-UVA10480
  5. debain8 安装mysql8
  6. FireFox浏览器导出文件名乱码
  7. Kubernetes V1.16.2部署Dashboard V2.0(beta5)
  8. Codeforces - 1194E - Count The Rectangles - 扫描线
  9. owaspbwa tickets
  10. Linux笔记2-常用命令