不变序列 题目描述: 给定包含 n 个整数的序列,如果序列中出现了连续 k 个及以上的位置元素都相等,则称这些位置的元素组成的序列为不变序列。 请注意,对于同一段连续相等的元素,只统计最长的序列,而不重复计数其子序列。 如:序列 [6,4,4,4,4],只统计 [4,4,4,4],不用再统计其子序列,如 [4,4,4]。 请统计给定的序列中有多少个不变序列,并输出其中最长不变序列的长度。 例如:n = 10,k = 3;序列为 [1,3,2,2,2,6,4,4,4,4],其中不变序列有 2 个,分别是[2,2,2] 和 [4,4,4,4],其中最长不变序列的长度为 4。 输入描述: 第一行输入两个整数 n 和 k(1≤n≤300,2≤k≤n),整数之间以一个空格隔开; 第二行输入 n 个整数 ai(1≤ai≤1000,1≤i≤n),表示给定的序列,整数之间以一个空格隔开。 输入数据保证给定的序列中一定存在不变序列。 输出描述: 一行,输出两个整数,分别表示给定序列中不变序列的数量以及最长不变序列的长度,整数之间以一个空格隔开。 样例输入: 10 3 1 3 2 2 2 6 4 4 4 4 样例输出: 2 4
正确答案:参考程序(Python):不变序列。统计连续相等长度≥k的段(只统计最长段),count与max。样例→2 4。核心:连续相等段统计。
试卷来源:202410(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题