#include <bits/stdc++.h>
using namespace std;
int n,k;
int ans,help;
int arr[500005];
set <int> S;
map<int,bool>M;
int main(){
ios_base::sync_with_stdio(0);
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>arr[i];
S.insert(arr[i]);
if(!M[arr[i]]){
ans+=i-help;
help++;
}
M[arr[i]]=true;
}
if(S.size()<k) {
cout<<-1<<endl;
return 0;
}
cout<<ans<<endl;
}
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 | #include <bits/stdc++.h> using namespace std; int n,k; int ans,help; int arr[500005]; set <int> S; map<int,bool>M; int main(){ ios_base::sync_with_stdio(0); cin>>n>>k; for(int i=0;i<n;i++){ cin>>arr[i]; S.insert(arr[i]); if(!M[arr[i]]){ ans+=i-help; help++; } M[arr[i]]=true; } if(S.size()<k) { cout<<-1<<endl; return 0; } cout<<ans<<endl; } |
English