#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); } |
English