#include <bits/stdc++.h>
using namespace std;
typedef long long lld;
constexpr int MAX = 1 << 19;
bitset<MAX> t;
lld n, k, m = 0, a, res = 0;
int main(){
scanf("%lld%lld", &n, &k);
for(lld i = 0; i < n; ++i) {
scanf("%lld", &a);
if (t[a] == 0) {
t[a] = 1;
res += (i - m);
++m;
}
if (m == k){
printf("%lld\n", res);
return 0;
}
}
puts("-1");
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 | #include <bits/stdc++.h> using namespace std; typedef long long lld; constexpr int MAX = 1 << 19; bitset<MAX> t; lld n, k, m = 0, a, res = 0; int main(){ scanf("%lld%lld", &n, &k); for(lld i = 0; i < n; ++i) { scanf("%lld", &a); if (t[a] == 0) { t[a] = 1; res += (i - m); ++m; } if (m == k){ printf("%lld\n", res); return 0; } } puts("-1"); return 0; } |
English