博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CodeForces 1263C --- Everyone is a Winner!】
阅读量:2038 次
发布时间:2019-04-28

本文共 2305 字,大约阅读时间需要 7 分钟。

【CodeForces 1263C --- Everyone is a Winner!】

Description

On the well-known testing system MathForces, a draw of n rating units is arranged. The rating will be distributed according to the following algorithm: if k participants take part in this event, then the n rating is evenly distributed between them and rounded to the nearest lower integer, At the end of the drawing, an unused rating may remain — it is not given to any of the participants.

For example, if n=5 and k=3, then each participant will recieve an 1 rating unit, and also 2 rating units will remain unused. If n=5, and k=6, then none of the participants will increase their rating.

Vasya participates in this rating draw but does not have information on the total number of participants in this event. Therefore, he wants to know what different values of the rating increment are possible to get as a result of this draw and asks you for help.

For example, if n=5, then the answer is equal to the sequence 0,1,2,5. Each of the sequence values (and only them) can be obtained as ⌊n/k⌋ for some positive integer k (where ⌊x⌋ is the value of x rounded down): 0=⌊5/7⌋, 1=⌊5/5⌋, 2=⌊5/2⌋, 5=⌊5/1⌋.

Write a program that, for a given n, finds a sequence of all possible rating increments.

Input

The first line contains integer number t (1≤t≤10) — the number of test cases in the input. Then t test cases follow.

Each line contains an integer n (1≤n≤109) — the total number of the rating units being drawn.

Output

Output the answers for each of t test cases. Each answer should be contained in two lines.

In the first line print a single integer m — the number of different rating increment values that Vasya can get.

In the following line print m integers in ascending order — the values of possible rating increments.

Sample Input

4

5
11
1
3

Sample Output

4

0 1 2 5
6
0 1 2 3 5 11
2
0 1
3
0 1 3

AC代码:

#include 
using namespace std;#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define endl '\n'int main(){
SIS; int T,n; cin >> T; while(T--) {
set
s; cin >> n; s.insert(0); for(int i=1;i*i<=n;i++) s.insert(i),s.insert(n/i); cout << s.size() << endl; for(auto x:s) cout << x << " "; cout << endl; } return 0;}

转载地址:http://niyof.baihongyu.com/

你可能感兴趣的文章
python2.7安装paramiko 出现import winrandom importerror
查看>>
redis cluster 集群的一些操作命令
查看>>
redis cluster 全部宕机后重启会自动恢复集群状态
查看>>
python 一篇搞定所有的异常处理
查看>>
python 中全局变量的修改
查看>>
Python logging log日志写入文件
查看>>
分析验证zuul支持做外部网关
查看>>
基于netty的高性能RPC服务器技术简介
查看>>
Java乐观锁悲观锁、synchronized,重入锁 (ReentrantLock)处理并发(互斥同步、非互斥同步)
查看>>
MySQL和Postgresql的区别
查看>>
开源RPC(gRPC/Thrift)框架性能评测
查看>>
《hadoop学习》关于hdfs中的namenode和datanode详解
查看>>
FastDFS的一些总结
查看>>
HBase底层存储原理
查看>>
linux python 2.6安装 paramiko
查看>>
Python2.x中文乱码问题解决
查看>>
Undertow,Tomcat和Jetty服务器配置详解与性能测试
查看>>
jVM虚拟机调优指南
查看>>
MongoDB十分钟搞定CRUD
查看>>
异常处理@ExceptionHandler遇到的问题
查看>>