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
#include <cstdio>


const int maxn = 500000;
bool b[maxn+1];


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

    int a_i;
    int actual=0;
    long long int result=0;
    for(int i=0;i<n;i++) {
        scanf("%d", &a_i);
        if(!b[a_i]) {
            result = result + i-actual;
            actual++;
            if(actual == k) 
                break;
            b[a_i]=true;
        }
    }
    if(actual==k)
        printf("%lld\n", result);
    else
        printf("-1\n");

    return 0;
}