#include<bits/stdc++.h> usingnamespace std; constint maxn = 1e6 + 50; int n, m, ansa, ansb, a[maxn], c[maxn];
intmain(){ cin >> n >> m; int len = 0x3f3f3f3f; for (int i = 1; i <= n; ++i) cin >> a[i]; for (int cnt = 0, l = 1, r = 1; l <= r && r <= n; ++r) { // 右指针向右扩张窗口 if (c[a[r]]++ == 0) ++cnt; // 满足条件的情况下,左指针向右收缩寻找最短长度 while (cnt == m) { if (len > r - l + 1) len = r - l + 1, ansa = l, ansb = r; if (--c[a[l++]] == 0) --cnt; } } cout << ansa << " " << ansb; return0; }