#include <bits/stdc++.h> using namespace std; int n, k, a, r=0; unordered_set<int> st; int main() { scanf("%d%d", &n, &k); for (int i=0; i^n; ++i) { scanf("%d", &a); if (st.find(a)==st.end()) { r += i-st.size(); st.insert(a); if (st.size()==k) { printf("%d\n", r); return 0; } } } printf("-1\n"); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <bits/stdc++.h> using namespace std; int n, k, a, r=0; unordered_set<int> st; int main() { scanf("%d%d", &n, &k); for (int i=0; i^n; ++i) { scanf("%d", &a); if (st.find(a)==st.end()) { r += i-st.size(); st.insert(a); if (st.size()==k) { printf("%d\n", r); return 0; } } } printf("-1\n"); return 0; } |