#include <iostream> #include <vector> // #include <algorithm> #include <map> using namespace std; int main() { int n; int k; // pobranie danych cin >> n >> k; vector<int> butelki(n); int czas = 0; // ile czasu nam to juz zajelo int ilosc_marek = 0; // ile mamy marek map<int, bool> marki; int m; // marka butelki int wynik = -1; int odleglosc = 0; for (int i = 0; i < n; i++) cin >> butelki[i]; // obliczenia for (int i = 0; i < n; i++) { m = butelki[i]; if (marki[m]) { odleglosc++; } else { czas += odleglosc; ilosc_marek++; marki[m] = true; } if (ilosc_marek == k) { wynik = czas; break; } } // cout << "czas:" << czas << "\n"; // cout << "ilosc_marek:" << ilosc_marek << "\n"; cout << wynik << "\n"; }
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 | #include <iostream> #include <vector> // #include <algorithm> #include <map> using namespace std; int main() { int n; int k; // pobranie danych cin >> n >> k; vector<int> butelki(n); int czas = 0; // ile czasu nam to juz zajelo int ilosc_marek = 0; // ile mamy marek map<int, bool> marki; int m; // marka butelki int wynik = -1; int odleglosc = 0; for (int i = 0; i < n; i++) cin >> butelki[i]; // obliczenia for (int i = 0; i < n; i++) { m = butelki[i]; if (marki[m]) { odleglosc++; } else { czas += odleglosc; ilosc_marek++; marki[m] = true; } if (ilosc_marek == k) { wynik = czas; break; } } // cout << "czas:" << czas << "\n"; // cout << "ilosc_marek:" << ilosc_marek << "\n"; cout << wynik << "\n"; } |