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
28
29
30
31
32
33
34
35
36
37
38
#include <bits/stdc++.h>

using namespace std;

int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n, k;
    cin >> n >> k;
    vector<int> brands(n);

    int num;
    for (int i = 0; i < n; ++i) {
        cin >> num;
        brands[i] = num;
    }

    unordered_set<int> diff;
    int count = 0;
    int gap = 0;
    for (auto &x: brands) {
        if (diff.find(x) == diff.end()) {
            diff.insert(x);
            count += gap;
            if (diff.size() == k) {
                break;
            }
        }
        else {
            ++gap;
        }
    }

    cout << (diff.size() < k ? -1 : count);

    return 0;
}