import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n, k, t; n = sc.nextInt(); k = sc.nextInt(); t = sc.nextInt(); int[] arr = new int[n]; int[] cnt = new int[100005]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } Arrays.fill(cnt, 0); int count = 0; //计算初始窗口中满足条件的数字个数 for (int i = 0; i < k - 1; i++) { if (++cnt[arr[i]] == t) count++; } //向右滑动窗口,判断进入和离开窗口的数字是否满足条件 int ans = 0; for (int i = k - 1; i < n; i++) { if (++cnt[arr[i]] == t) count++; if (count > 0) ans++; if (--cnt[arr[i - k + 1]] == t - 1) count--; } System.out.println(ans); } }