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