Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define _test int _TEST; cin>>_TEST; while(_TEST--)
- int main()
- {
- _test
- {
- int n, k;
- cin>>n>>k;
- vector<int> a(n);
- for(auto &e: a) cin>>e;
- vector<int> prev(k+1, -1);
- vector<multiset<int>> diff(k+1);
- for(int i=0; i<n; i++)
- {
- diff[a[i]].insert(i - prev[a[i]] - 1);
- prev[a[i]] = i;
- }
- for(int i=1; i<=k; i++)
- diff[i].insert(n - prev[i] - 1);
- int ans = 1e9;
- for(int i=1; i<=k; i++)
- {
- int x = *diff[i].rbegin();
- diff[i].erase(--diff[i].end());
- diff[i].insert(x/2);
- ans = min(ans, *diff[i].rbegin());
- }
- cout<<ans<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment