#LQ3029. 最长连续子数列

    ID: 2126 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>第十五届蓝桥杯青少年组国赛

最长连续子数列

题目描述

给定包含 nn 个整数的数列,从中选取一段连续子数列,使其元素之和能被 kk整除。

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

例如:n=7k=7n=7,k=7,数列为734151497、3、4、1、5、14、9;

连续子数列 773434{7}、{7,3,4}、{3,4}、和5149{5,14,9}的和都能被77整除;其中最长的连续子数列有734{7,3,4}5149{5,14,9},起始位置最靠后的是5149{5,14,9}。故符合要求的最长连续子数列长度为 33,子数列为5,14,9{5,14,9}

输入

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

第二行输入 nn 个整数 ,整数之间以一个空格隔开。

输出

如果存在符合要求的最长连续子数列,则输出为两行第一行输出一个整数,表示最长连续子数列的长度;

第二行输出若干个整数,表示起始位置最靠后的最长连续子数列,整数之间以一个空格隔开。

如果不存在,则输出 -1。

7 7
7 3 4 1 5 14 9
3
5 14 9

提示

1n105,2k108 1 \leq n \leq 10^5,2 \leq k \leq 10^8

1整数1041 \leq 整数 \leq 10^4