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
#include <bits/stdc++.h>
using namespace std;
const int N_MAX = 500*1000+123;
int butelki[N_MAX];
unordered_map <int,bool> rodzaj_do_byl;

int main(){
    ios_base::sync_with_stdio(0);
    int n,k;
    long long res = 0;
    cin >> n >> k;
    for (int i = 0;i < n;i++){
        cin >> butelki[i];
    }
    int odleglosc = 0,zlapane = 1;
    rodzaj_do_byl[butelki[0]] = true;
    for (int i = 1;i < n;i++){
        if (!rodzaj_do_byl[butelki[i]]){
            rodzaj_do_byl[butelki[i]] = true;
            res += odleglosc;
            odleglosc--;
            zlapane++;
        }
        odleglosc++;
        if (zlapane == k){
            cout << res << '\n';
            return 0;
        }
    }
    cout << "-1" << '\n';
    return 0;
}