Untitled
unknown
plain_text
a year ago
1.1 kB
4
Indexable
#include <bits/stdc++.h> using namespace std; typedef long long int ll; #define endl "\n" const double PI = 3.14159265358979; const ll INF = 1e18 + 7; const ll MOD = 1e9 + 7; const ll nax = 1000006; const int LOG = 25; int freq[nax]; void solve() { int n, d, ans = INT_MAX, distinct = 0; cin >> n >> d; int a[n]; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { freq[a[i]]++; if (freq[a[i]] == 1) { distinct++; } if (i >= d) { freq[a[i - d]]--; if (freq[a[i - d]] == 0) { distinct--; } } if (i >= d - 1) { ans = min(ans, distinct); } } for (int i = 0; i < n; i++) { if (freq[a[i]]) { freq[a[i]]--; } } cout << ans << endl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); memset(freq, 0, sizeof(freq)); int t; cin >> t; while(t--) solve(); return 0; }
Editor is loading...
Leave a Comment