#include <iostream>
#include <vector>
#include <unordered_set>
int main() {
unsigned n, k;
std::cin >> n >> k;
std::unordered_set<int> used;
int ret = 0;
for (unsigned i = 0; i < n; ++i) {
int a_i;
std::cin >> a_i;
if (used.count(a_i) == 0) {
ret += i - used.size();
used.insert(a_i);
if (used.size() == k) {
std::cout << ret << "\n";
return 0;
}
}
}
std::cout << "-1\n";
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <iostream> #include <vector> #include <unordered_set> int main() { unsigned n, k; std::cin >> n >> k; std::unordered_set<int> used; int ret = 0; for (unsigned i = 0; i < n; ++i) { int a_i; std::cin >> a_i; if (used.count(a_i) == 0) { ret += i - used.size(); used.insert(a_i); if (used.size() == k) { std::cout << ret << "\n"; return 0; } } } std::cout << "-1\n"; } |
English