#include<bits/stdc++.h> #define int long long using namespace std; int n,k,t[1000005],zlicz[1000005],rozne,zlicz1[1000005]; main() { ios_base::sync_with_stdio(0); cin >> n >> k; for (int i = 1 ; i <= n ; i++) { cin >> t[i]; if(zlicz[t[i]] == 0) rozne++; zlicz[t[i]]++; } if (rozne < k) { cout << -1; return 0; } int ob = 2; int wynik = 0; zlicz1[t[1]]++; for (int i = 2 ; ob <= k ; i++) { if(zlicz1[t[i]] == 0) { wynik += (i - ob); ob++; } zlicz1[t[i]] = 1; } cout << wynik<<"\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 30 31 32 33 34 | #include<bits/stdc++.h> #define int long long using namespace std; int n,k,t[1000005],zlicz[1000005],rozne,zlicz1[1000005]; main() { ios_base::sync_with_stdio(0); cin >> n >> k; for (int i = 1 ; i <= n ; i++) { cin >> t[i]; if(zlicz[t[i]] == 0) rozne++; zlicz[t[i]]++; } if (rozne < k) { cout << -1; return 0; } int ob = 2; int wynik = 0; zlicz1[t[1]]++; for (int i = 2 ; ob <= k ; i++) { if(zlicz1[t[i]] == 0) { wynik += (i - ob); ob++; } zlicz1[t[i]] = 1; } cout << wynik<<"\n"; } |