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
#include <iostream>
#include <set>
using namespace std;

int main() {
  int n, k;
  cin >> n >> k;
  
  long suma_pozycji = 0;
  
  set<int> polka;
  
  int marka;
  
  for(int i = 1; i <= n; i++) {
	  cin >> marka;
	  
	  if(polka.find(marka) != polka.end()) {
		  suma_pozycji += i-1;
	  }
	  else {
		polka.insert(marka);
	  }
	  
	  if(polka.size() == k) {
		  // k-i butelek do przesuniecia
		  cout << (i-k)*(i+k-1)/2 -suma_pozycji << endl;
		  return 0;
		  
	  }
  }
  
  
  
  cout << -1 << endl;
  return 0;
}