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;

const int N = 500001;

bool bylo[N], biore[N];
int T[N];

int main () {
	int n, k, ile = 0, j;
	cin>>n>>k;
	for (int i = 0; i < n; ++i) cin>>T[i];
	for (int i = 0; i < n; ++i) {
		if (!bylo[T[i]]) {
			bylo[T[i]] = true;
			biore[i] = true;
			++ile;
			if (ile == k) j = i;
		}
	}
	if (ile < k) {cout<<-1; return 0;}
	if (k == n) {cout<<0; return 0;}
	long long w = 0;
	ile = 0;
	for (int i = j; i >= 0; --i) {
		if (!biore[i]) {
		 	w += j - i - ile;
			++ile;
		}
	}
	cout<<w;
	return 0;
}