#include "bits/stdc++.h"
using namespace std;
template<typename _T> void _debug(const char *s, _T x){ cerr << s << " = " << x << "\n";}
template<typename _T, typename... R> void _debug(const char *s, _T x, R... r){ while(*s != ',') cerr << *s++; cerr << " = " << x << ", "; _debug(s + 1, r...);}
#define debug(...) _debug(#__VA_ARGS__, __VA_ARGS__);
#define sz(s) int32_t(s.size())
using ll = long long;
using ld = long double;
// #define int long long
const int N = 5e5 + 5;
bool vis[N];
int pos[N];
int32_t main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n, k; cin >> n >> k;
vector < int > arr(n), vec;
for(int i = 0; i < n; i++){
cin >> arr[i];
}
for(int i = 0; i < n; i++){
if(vis[arr[i]]) continue;
vis[arr[i]] = true;
vec.push_back(arr[i]);
if(sz(vec) == k) break;
}
if(sz(vec) != k){
cout << "-1\n"; return 0;
}
int ans = 0;
for(int i = 0, j = 0; i < k; i++, j++){
while(vec[i] != arr[j]){
j++;
}
ans += j - i;
}
cout << ans << "\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 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include "bits/stdc++.h" using namespace std; template<typename _T> void _debug(const char *s, _T x){ cerr << s << " = " << x << "\n";} template<typename _T, typename... R> void _debug(const char *s, _T x, R... r){ while(*s != ',') cerr << *s++; cerr << " = " << x << ", "; _debug(s + 1, r...);} #define debug(...) _debug(#__VA_ARGS__, __VA_ARGS__); #define sz(s) int32_t(s.size()) using ll = long long; using ld = long double; // #define int long long const int N = 5e5 + 5; bool vis[N]; int pos[N]; int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, k; cin >> n >> k; vector < int > arr(n), vec; for(int i = 0; i < n; i++){ cin >> arr[i]; } for(int i = 0; i < n; i++){ if(vis[arr[i]]) continue; vis[arr[i]] = true; vec.push_back(arr[i]); if(sz(vec) == k) break; } if(sz(vec) != k){ cout << "-1\n"; return 0; } int ans = 0; for(int i = 0, j = 0; i < k; i++, j++){ while(vec[i] != arr[j]){ j++; } ans += j - i; } cout << ans << "\n"; } |
English