#B8175. 最长连续子数列

最长连续子数列

题目描述

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

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

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

连续子数列 {7}{734}{34}\{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\}

输入格式

第一行输入两个整数 nnk (1n1052k108)k\ (1≤n≤10^5,2≤k≤10^8),整数之间以一个空格隔开; 第二行输入 nn 个整数 (1整数104)(1≤整数≤10^4),整数之间以一个空格隔开。

输出格式

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

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