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";
}