Ankit_132

B

Jul 16th, 2023
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1.  
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. #define ll     long long
  7. #define _test   int _TEST; cin>>_TEST; while(_TEST--)
  8.  
  9. int main()
  10. {
  11.     _test
  12.     {
  13.         int n, k;
  14.         cin>>n>>k;
  15.  
  16.         vector<int> a(n);
  17.         for(auto &e: a)     cin>>e;
  18.  
  19.         vector<int> prev(k+1, -1);
  20.  
  21.         vector<multiset<int>> diff(k+1);
  22.  
  23.         for(int i=0; i<n; i++)
  24.         {
  25.             diff[a[i]].insert(i - prev[a[i]] - 1);
  26.             prev[a[i]] = i;
  27.         }
  28.  
  29.         for(int i=1; i<=k; i++)
  30.             diff[i].insert(n - prev[i] - 1);
  31.  
  32.         int ans = 1e9;
  33.  
  34.         for(int i=1; i<=k; i++)
  35.         {
  36.             int x = *diff[i].rbegin();
  37.             diff[i].erase(--diff[i].end());
  38.  
  39.             diff[i].insert(x/2);
  40.  
  41.             ans = min(ans, *diff[i].rbegin());
  42.         }
  43.  
  44.         cout<<ans<<"\n";
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment