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