EXP1103 动物园

#include <bits/stdc++.h>
using namespace std;
int n, m, arrCage[1000010], arrAnimal[3010], cnt, ans = 0x7FFFFFFF;
int main() {
freopen("zoo.in", "r", stdin);
freopen("zoo.out", "w", stdout);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> arrCage[i];
}
for (int l = 1, r = 0; l <= n; l++) {
if (l > 1) {
arrAnimal[arrCage[l - 1]]--;
if (!arrAnimal[arrCage[l - 1]]) cnt--;
}
while (r < n && cnt < m) {
r++;
arrAnimal[arrCage[r]]++;
if (arrAnimal[arrCage[r]] == 1) cnt++;
}
if (cnt == m) ans = min(ans, r - l + 1);
}
cout << ans * 10 << endl;
return 0;
}