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
//runda 1B
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
  ios_base::sync_with_stdio(0);

  int n, k, a;
  long long wynik = 0LL;
  vector<int> miejsca;

  cin >> n >> k;
  miejsca.resize(n);
  std::fill(miejsca.begin(), miejsca.end(), 1000000);
  for(int iN = 0; iN < n; ++iN) {
    cin >> a;
    if(miejsca[a - 1] == 1000000)
    	miejsca[a - 1] = iN;
  }
  sort(miejsca.begin(), miejsca.end());

  for(int iK = 0; iK < k; ++iK) {
      if(miejsca[iK] == 1000000) {
    	  cout << "-1";
    	  return 0;
      }
      wynik += (long long)(miejsca[iK] - iK);
  }
  cout << wynik;
  return 0;
}