Alex_tz307

IOIT police2

Dec 15th, 2020
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     ios_base::sync_with_stdio(false);
  7.     cin.tie(nullptr);
  8.     cout.tie(nullptr);
  9.     int N;
  10.     cin >> N;
  11.     vector<int> a(N);
  12.     for(int &x : a)
  13.         cin >> x;
  14.     int ans = 1;
  15.     vector<int> iese(N), intra(N);
  16.     for(int i = 0; i < N; ++i)
  17.         if(!iese[i] && !intra[i]) {
  18.             int p = i, intra_last = 0;
  19.             vector<int> v;
  20.             while(!iese[p]) {
  21.                 iese[p] = 1;
  22.                 ++intra[a[p]];
  23.                 intra_last = intra[a[p]];
  24.                 v.emplace_back(p);
  25.                 p = a[p];
  26.             }
  27.             int poz = 0, sz = v.size();
  28.             while(poz < sz && intra[v[poz]] != intra_last)
  29.                 ++poz;
  30.             ans = max(ans, sz - poz);
  31.         }
  32.     cout << ans;
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment