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
41
42
43
44
45
46
47
//#include "pch.h"
#include <iostream>
#include <queue>

using namespace std;
const int maxik = 5 * (1e5) + 7;
bool tab[maxik];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int bottles, date, bottle;
	long long result = 0;
	queue<int> es;
	cin >> bottles >> date;
	for (int i = 0; i < date; i++)
	{
		cin >> bottle;
		if (!tab[bottle])
		{
			tab[bottle] = true;
		}
		else
		{
			es.push(i);
		}
	}
	for (int i = date; i < bottles; i++)
	{
		cin >> bottle;
		if (!tab[bottle] && !es.empty())
		{
			result += (i - es.front());
			es.pop();
			tab[bottle] = true;
		}
	}
	if (es.empty())
	{
		cout << result;
	}
	else
	{
		cout << "-1";
	}
	//system("pause");
}