#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; } |
English