//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; } |
English