题库练习 给定包含 n 个整数的数列,从中选取 - 段连续子数列,使其元素之和能 被 k

A62867 | 给定包含 n 个整数的数列,从中选取 - 段连续子数列,使其元素之和能 被 k

来源创意编程组
时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

题目描述

给定包含n个整数的数列,从中选取-段连续子数列,使其元素之和能k整除。

请找出符合要求的最长连续子数列并输出其长度以及子数列本身;如果符合要求的最长连续子数列有多个,则输出起始位置最靠后的那个子数列。如果不存在符合要求的子数列,则输出-1

例如:n=7,k=7,数列为73415149;

连续子数列{7}{7, 3, 4}{3, 4}、和{514, 9}的和都能被7;

其中最长的连续子数列有{73, 4}{5149}, 起始位置最靠后的{5, 149}

故符合要求的最长连续子数列长度为3,子数列为5 14 9

输入描述

第一行输入两个整数nk,整数之间以一个空格隔开

第二行输入n个整数(1≤整数≤)104,整数之间以一个空格隔开

输出描述

如果存在符合要求的最长连续子数列,则输出为两行第一行输出一个整数,表示最长连续子数列的长度第二行输出若干个整数,表示起始位置最靠后的最长连续子数列,整数之间以一个空格隔开

如果不存在,则输出-1

输入样例

7 7

7 3 4 1 5 14 9

输出样例

3

5 14 9

C++ 编辑器
输入
输出