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
39
40
#include <bits/stdc++.h>
#define ll long long
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
	ll n,k,najwiekszy=1;
	cin>>n>>k;
	vector<ll>But(n);
	for(int i=0;i<n;i++)
	{
		cin>>But[i];
		najwiekszy=max(najwiekszy,But[i]);
	}
	set<ll>S;
	ll wynik=0;
	for(int i=0;i<n && S.size()<k;i++)
	{
		int element=But[i];
		if(S.find(element)!=S.end())				//Jest
		{
			if(i<k-1)
				wynik+=k-1-i;
		}
		else
		{
			S.insert(element);
			if(i>k-1)
				wynik+=i-k+1;
		}
	}
	if(S.size()<k)
		cout<<"-1\n";
	else 
		cout<<wynik<<"\n";
	return 0;
}