Advertisement
Josif_tepe

Untitled

Mar 9th, 2025
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. using namespace std;
  5. const int maxn = 1e5 + 10;
  6.  
  7. int main()
  8. {
  9.     ios_base::sync_with_stdio(false);
  10.     int n, k;
  11.     cin >> n >> k;
  12.    
  13.     vector<int> v(n);
  14.     for(int i = 0; i < n; i++) {
  15.         cin >> v[i];
  16.     }
  17.    
  18.     multiset<int> ms;
  19.     for(int i = 0; i < k; i++) {
  20.         ms.insert(0);
  21.     }
  22.     int i = 0, j = 0;
  23.     vector<int> cnt(k, 0);
  24.     int res = 0;
  25.     while(j < n) {
  26.         if(*ms.rbegin() <= 3) {
  27.             if(v[j] < k) {
  28.                 ms.erase(ms.find(cnt[v[j]]));
  29.                 cnt[v[j]]++;
  30.                 ms.insert(cnt[v[j]]);
  31.             }
  32.             j++;
  33.         }
  34.         else {
  35.             if(v[i] < k) {
  36.                 ms.erase(ms.find(cnt[v[i]]));
  37.                 cnt[v[i]]--;
  38.                 ms.insert(cnt[v[i]]);
  39.             }
  40.             i++;
  41.         }
  42.        
  43.         if(*ms.begin() == 3 and *ms.rbegin() == 3) {
  44.             res = max(res, j - i);
  45.         }
  46.     }
  47.  
  48.     cout << res << endl;
  49.    
  50.     return 0;
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement