//Wojciech Filipek #include "bits/stdc++.h" using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, k; cin >> n >> k; int tab[n]; for(int i = 0; i < n; i++){ cin >> tab[i]; } int a = 1; int pom[n]; for(int i = 0; i < n; i++){ pom[i] = -1; } pom[0] = 0; long long wynik = 0; bool czy = false; for(int i = 1; i < n; i++){ czy = false; for(int j = 0; j < i; j++){ if(tab[j] == tab[i]){ tab[i] = 0; czy = true; break; } } if(czy == false){ pom[a] = i; a++; } } if(a >= k){ for(int i = 0; i < k; i++){ if(tab[i] == 0){ for(int j = 0; j < n; j++){ if(pom[j] > k-1){ wynik += pom[j] - i; pom[j] = -1; break; } } } } cout << wynik << endl; } else cout << "-1" << endl; }
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 | //Wojciech Filipek #include "bits/stdc++.h" using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, k; cin >> n >> k; int tab[n]; for(int i = 0; i < n; i++){ cin >> tab[i]; } int a = 1; int pom[n]; for(int i = 0; i < n; i++){ pom[i] = -1; } pom[0] = 0; long long wynik = 0; bool czy = false; for(int i = 1; i < n; i++){ czy = false; for(int j = 0; j < i; j++){ if(tab[j] == tab[i]){ tab[i] = 0; czy = true; break; } } if(czy == false){ pom[a] = i; a++; } } if(a >= k){ for(int i = 0; i < k; i++){ if(tab[i] == 0){ for(int j = 0; j < n; j++){ if(pom[j] > k-1){ wynik += pom[j] - i; pom[j] = -1; break; } } } } cout << wynik << endl; } else cout << "-1" << endl; } |