Josif_tepe

Untitled

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