seuOJ573 - 礼物
- 题目类型:传统
- 输入文件:标准输入流
- 输出文件:标准输出流
- 时间限制:1000 ms
- 空间限制:256 MiB
- 题目标签:Div.1, 2025 帆软杯, Special Judge
题目描述
小 S 设计了一道题目,准备作为礼物送给大家。
给定一个长度为 n 的整数序列 a1,a2,⋯,an。
输出它的任意一个满足以下要求的非空子序列 ab1,ab2,⋯,abk:
(i=1∑kabi)modn=0
可以证明,这样的子序列一定存在。
小 L 看完题目后,向大家解释了一些基本概念:
任取整数 k 满足 1≤k≤n,以及 k 个整数 b1,b2,⋯,bk 满足
1≤b1<b2<⋯<bk≤n
则称 ab1,ab2,⋯,abk 是 a1,a2,⋯,an 的一个非空子序列。
关于求和号 ∑,它的含义是
i=1∑kabi=ab1+ab2+⋯+abk
在这里,mod 运算的定义是
xmody=x−⌊yx⌋y
其中 ⌊z⌋ 表示 ≤z 的最大整数。xmody=0 等价于 x 是 y 的倍数。
输入格式
第一行一个整数 T(T≥1),表示该测试点有 T 组数据。
接下来,对于每组数据:
- 第一行一个整数 n(n≥1)。
- 第二行 n 个整数 a1,a2,⋯,an(1≤ai≤109)。
保证 T 组数据中的 n 之和 ∑n≤106。
输出格式
对于每组数据,输出两行:
- 第一行一个整数 k。
- 第二行 k 个整数 b1,b2,⋯,bk。
你需要保证:
- 1≤k≤n。
- 1≤b1<b2<⋯<bk≤n。
- (ab1+ab2+⋯+abk)modn=0。
若有多个解,只需输出任意一个。
样例
输入
2
6
1 1 4 5 1 4
6
1 1 4 5 1 4
一个满足要求的输出
解释
在第一组数据中,a2+a4=1+5=6,6mod6=0,满足要求。
在第二组数据中,a1+a2+a3+a4+a5=1+1+4+5+1=12,12mod6=0,满足要求。