题库首页 › 信息素养大赛(C语言) › 题目 17791

有n个小球摆成一排,第i个小球的颜色为ci,在这一排小球中,你可以选择其中连续的K个小球并且获得他们。你喜欢五彩缤纷的颜色,所以你获得的小球不同颜色越多,就越高兴,输出你能获得的最多的小球颜色数。 输入描述 第一行,两个数字n和k,表示一共有多少个小球,以及你可以选择获得其中连续的K个小球。 第二行,n个数字,表示每个小球的颜色ci。 输出描述 一个整数,表示你能获得的最多小球的颜色数量。一行, 样例1 输入 7 3 1 2 1 2 3 3 1 输出 3 样例2 输入 10 6 1 3 1 3 4 1 2 1 1 2 输出 4 提示 1<=k<=n<= 300000 1<= ci<= 300000

正确答案:参考程序(Python):n,k=map(int,input().split());c=list(map(int,input().split()));from collections import Counter;cnt=Counter();ans=0;for i in range(n):cnt[c[i]]+=1;if i>=k:cnt[c[i-k]]-=1;if cnt[c[i-k]]==0:del cnt[c[i-k]];ans=max(ans,len(cnt));print(ans)。样例→3、4。

试卷来源:2025全国青少年信息素养大赛C++算法创意实践挑战赛(小学组_复赛)真题

本卷相关题目

在线做题 同科目题库