#include <bits/stdc++.h>
using namespace std;
int main(){
vector <bool>spra(500000,false);
int a,b,c,k;
long long odp;
k=0;
odp=0;
cin>>a;
cin>>b;
set <int>ora;
for(int i=0;i<a;i++){
cin>>c;
ora.insert(c);
if(spra[c]==false){
odp=odp+i-k;
k++;
spra[c]=true;
}else{
spra[c]=true;
}
}
if(ora.size()<b){
cout<<"-1";
}else{
cout<<odp;
}
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; int main(){ vector <bool>spra(500000,false); int a,b,c,k; long long odp; k=0; odp=0; cin>>a; cin>>b; set <int>ora; for(int i=0;i<a;i++){ cin>>c; ora.insert(c); if(spra[c]==false){ odp=odp+i-k; k++; spra[c]=true; }else{ spra[c]=true; } } if(ora.size()<b){ cout<<"-1"; }else{ cout<<odp; } return 0; } |
English