#include <iostream> using namespace std; int const N = 5e5 + 9; int tab[N]; int odw[N]; void task(int n, int k) { int r = 0, m = 0, ans = 0; for (int i = 0; i < n; i++) { if (!odw[tab[i]]) { ans += i - m; odw[tab[i]] = 1; r++; m++; } if (r == k) break; } if (r < k) cout << -1; else cout << ans; } int main() { int n, k; cin >> n >> k; for (int i = 0; i < n; i++) { cin >> tab[i]; } task(n, k); }
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 | #include <iostream> using namespace std; int const N = 5e5 + 9; int tab[N]; int odw[N]; void task(int n, int k) { int r = 0, m = 0, ans = 0; for (int i = 0; i < n; i++) { if (!odw[tab[i]]) { ans += i - m; odw[tab[i]] = 1; r++; m++; } if (r == k) break; } if (r < k) cout << -1; else cout << ans; } int main() { int n, k; cin >> n >> k; for (int i = 0; i < n; i++) { cin >> tab[i]; } task(n, k); } |