#include <bits/stdc++.h> using namespace std; int n,m,a,x; long long wynik; bitset <500005> b; int main() { scanf("%d%d",&n,&m); for (int i=1; i<=n; i++) { scanf("%d",&a); if (b[a]) continue; b[a]=1; x++; wynik+=i-x; if (x == m) break; } if (x!=m) printf("-1\n"); else printf("%lld\n",wynik); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <bits/stdc++.h> using namespace std; int n,m,a,x; long long wynik; bitset <500005> b; int main() { scanf("%d%d",&n,&m); for (int i=1; i<=n; i++) { scanf("%d",&a); if (b[a]) continue; b[a]=1; x++; wynik+=i-x; if (x == m) break; } if (x!=m) printf("-1\n"); else printf("%lld\n",wynik); } |