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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <vector>

typedef long long ll;

using namespace std;

inline vector<ll> pobierz(ll n) {
    vector<ll> a(n);
    for (ll i = 0; i < n; i++) {
        cin >> a[i];
    }
    return a;
}

inline bool sprawdza(vector<ll>& a, ll& k, ll& i) {
    for (ll z = 0; z < i; z++) {
        if (a[i] == a[z]) {
            return true;
        }
    }
    return false;
}

inline bool sprawdza2(vector<ll>& a, ll& j) {
    for (ll z = 0; z < j; z++){
        if (a[j] == a[z]) {
            return false;
        }
    }
    return true;

}
inline void for3(vector<ll>& a, ll& i, ll& j, ll& wynik) {
    for (int z = j; (z > i) && (z > 1); z--) {
        ll x = a[z];
        a[z] = a[z - 1];
        a[z - 1] = x;
        wynik++;
    }
}


inline ll for1(vector<ll> &a, ll &n, ll &k) {
    ll wynik = 0;  
    for (ll i = 0; i < n; i++) {
        if (i < k) {
            if (sprawdza(a, k, i)) {
                for (ll j = (i + 1); j < n; j++) {
                    if (sprawdza2(a, j)) {
                        for3(a, i, j, wynik);
                        break;
                    }
                    else if (j == (n - 1)){
                        return -1;
                    }
                }
            }
        }
        else {
            break;
        }
    }
    return wynik;
}

int main()
{
    ll n = 1;
    ll k = 1;
    cin >> n >> k;
    vector<ll> a = pobierz(n);
    cout << for1(a, n, k);
    return 0;}