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