#include <cstdio> #define MAKS 500010 using namespace std; typedef long long int lld; int a[MAKS]; bool bylo[MAKS]; int main() { int n,k; scanf("%d %d",&n,&k); for(int i=0;i<n;i++)scanf("%d",&a[i]); int p=0; lld wyn=0; for(int i=0;i<n;i++) { if(!bylo[a[i]]) { bylo[a[i]]=true; wyn+=lld(i-p); p++; if(p==k) { printf("%lld\n",wyn); return 0; } } } printf("-1\n"); }
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 <cstdio> #define MAKS 500010 using namespace std; typedef long long int lld; int a[MAKS]; bool bylo[MAKS]; int main() { int n,k; scanf("%d %d",&n,&k); for(int i=0;i<n;i++)scanf("%d",&a[i]); int p=0; lld wyn=0; for(int i=0;i<n;i++) { if(!bylo[a[i]]) { bylo[a[i]]=true; wyn+=lld(i-p); p++; if(p==k) { printf("%lld\n",wyn); return 0; } } } printf("-1\n"); } |