#include <iostream> #include <math.h> #include <vector> #include <algorithm> #include <queue> #include <typeinfo> #define c_plus_plus std #define QED return 0 #define NOT_QED return -1 #define CNU return #define kiedy_kliknieto_zielona_flage int main() #define ll long long #define mp make_pair #define str string #define vec vector #define pb push_back #define foru(u, n) for(int u=0;u<n;u++) #define INT_MAX 2147483647 #define LL_MAX 9223372036854775807LL #define ir(a, b, x) ((a<=x)&&(x<=b)) #define f first #define s second #define ll long long #define vll vec<ll> using namespace c_plus_plus; #define N 500000 ll n; ll k; bool usd[N]; ll shlf[N]; kiedy_kliknieto_zielona_flage { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; cin >> k; foru(i, n) {cin >> shlf[i]; usd[i]=false;} ll pnt = 0; ll ans = 0; ll str = 0; for(int i=0;i<n;i++){ if(!usd[shlf[i]]){ usd[shlf[i]]=true; ans += i-str; str++; } if(str==k) {cout << ans; QED;} } cout << -1; QED; }
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <iostream> #include <math.h> #include <vector> #include <algorithm> #include <queue> #include <typeinfo> #define c_plus_plus std #define QED return 0 #define NOT_QED return -1 #define CNU return #define kiedy_kliknieto_zielona_flage int main() #define ll long long #define mp make_pair #define str string #define vec vector #define pb push_back #define foru(u, n) for(int u=0;u<n;u++) #define INT_MAX 2147483647 #define LL_MAX 9223372036854775807LL #define ir(a, b, x) ((a<=x)&&(x<=b)) #define f first #define s second #define ll long long #define vll vec<ll> using namespace c_plus_plus; #define N 500000 ll n; ll k; bool usd[N]; ll shlf[N]; kiedy_kliknieto_zielona_flage { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; cin >> k; foru(i, n) {cin >> shlf[i]; usd[i]=false;} ll pnt = 0; ll ans = 0; ll str = 0; for(int i=0;i<n;i++){ if(!usd[shlf[i]]){ usd[shlf[i]]=true; ans += i-str; str++; } if(str==k) {cout << ans; QED;} } cout << -1; QED; } |