#include<bits/stdc++.h> using namespace std; int main() { int n, k; scanf("%d%d", &n, &k); int a[n]; set<int> ks; for (int i = 0; i < n; ++i) { scanf("%d", &a[i]); } int output{0}, i{0}; for (; i < n && ks.size() < k; ++i) { output += i - ks.size(); ks.insert(a[i]); } if (ks.size() < k) { printf("-1\n"); } else { printf("%d\n", output - (i - k - 1) * (i - k) / 2); } }
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 | #include<bits/stdc++.h> using namespace std; int main() { int n, k; scanf("%d%d", &n, &k); int a[n]; set<int> ks; for (int i = 0; i < n; ++i) { scanf("%d", &a[i]); } int output{0}, i{0}; for (; i < n && ks.size() < k; ++i) { output += i - ks.size(); ks.insert(a[i]); } if (ks.size() < k) { printf("-1\n"); } else { printf("%d\n", output - (i - k - 1) * (i - k) / 2); } } |