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
#include <bits/stdc++.h>

using namespace std;

unordered_map<int,int> a;

int main() {
    int n;
    scanf("%d", &n);
    int k;
    scanf("%d", &k);

    long long time=0;
    int last=0;

    for (int i = 0; i < n; i++) {

       int marka;
       scanf("%d", &marka);
       unordered_map<int,int>::const_iterator got=a.find(marka);
       if(got==a.end()) {
           time+=i-last;
           a[marka]=1;
           last+=1;

       }
       if (a.size() >= k) { printf("%lld\n",time); return 0; }
      // for (auto c : a) printf("%d, ",c.first);
      // printf("\n");
    }
    printf("%d\n",-1);
    return 0;
}