fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. vector <int> g[200001];
  5. int n,m,a[200001],ans=1e6;
  6. int main() {
  7. freopen("CPATH.INP","r",stdin);
  8. freopen("CPATH.OUT","w",stdout);
  9. ios::sync_with_stdio(false);
  10. cin.tie(0), cout.tie(0);
  11. cin >> n >> m;
  12. for(int i=1;i<=n;i++) {
  13. cin >> a[i];
  14. g[a[i]].push_back(i);
  15. }
  16. if(n<3 || m==1) return cout << 0, 0;
  17. for(int i=1;i<=m;i++) {
  18. vector <int> br;
  19. for(int j=1;j<g[i].size();j++) br.push_back(g[i][j]-g[i][j-1]);
  20. sort(br.rbegin(),br.rend());
  21. if(g[i].size() && g[i].size()<3) return cout << 0, 0;
  22. ans=min(ans,max((br[0]+1)/2,br[1]));
  23. }
  24. cout << ans;
  25. return 0;
  26. }
Success #stdin #stdout 0.01s 9208KB
stdin
6 2
1 2 2 1 2 1
stdout
Standard output is empty