208482026-01-10 10:29:08domdiridomdidomHírlánccpp17Accepted 80/80104ms8244 KiB
#include <iostream>
#include <vector>

using std::vector;

int dfs(int n, vector<int> & graph, vector<int> & d, int x, vector<bool> & inStack) {
    if(d[x] != -1)
        return d[x];
   if(inStack[x]) {
      int cur = graph[x];
      int cnt = 1;
      while(cur != x) {
         cnt++;
         cur = graph[cur];
      }
      cur = graph[x];
      d[x] = cnt;
      while(cur != x) {
         d[cur] = cnt;
         cur = graph[cur];
      }
      return d[x];
   }

   inStack[x] = 1;

   int cur = 1 + dfs(n, graph, d, graph[x], inStack);

   if(d[x] == -1)
      d[x] = cur;

   return d[x];
}

int main() {
    int n, max = -1, maxIdx = -1;
    std::cin >> n;
    vector<int> graph(n), d(n, -1);
    for(int i = 0; i < n; i++) {
        std::cin >> graph[i];
        graph[i]--;
    }

    for(int i = 0; i < n; i++) {
        if(d[i] == -1) {
            vector<bool> inStack(n, 0);
            d[i] = dfs(n, graph, d, i, inStack);
        }
        if(d[i] > max) {
            max = d[i];
            maxIdx = i;
        }
    }
   std::cout << maxIdx + 1 << ' ' << max;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask220/20
2Accepted2ms316 KiB
3Accepted2ms316 KiB
4Accepted2ms508 KiB
5Accepted2ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms316 KiB
8Accepted1ms316 KiB
9Accepted2ms316 KiB
10Accepted1ms412 KiB
11Accepted1ms336 KiB
12Accepted1ms416 KiB
subtask318/18
13Accepted81ms1844 KiB
14Accepted79ms1976 KiB
15Accepted81ms2112 KiB
16Accepted82ms2356 KiB
17Accepted86ms4916 KiB
18Accepted86ms4032 KiB
19Accepted86ms4148 KiB
20Accepted83ms3992 KiB
21Accepted86ms7116 KiB
22Accepted90ms8244 KiB
subtask442/42
23Accepted2ms316 KiB
24Accepted2ms316 KiB
25Accepted2ms316 KiB
26Accepted2ms508 KiB
27Accepted2ms316 KiB
28Accepted1ms316 KiB
29Accepted1ms316 KiB
30Accepted1ms316 KiB
31Accepted2ms316 KiB
32Accepted1ms412 KiB
33Accepted1ms336 KiB
34Accepted1ms416 KiB
35Accepted81ms1844 KiB
36Accepted79ms1976 KiB
37Accepted81ms2112 KiB
38Accepted82ms2356 KiB
39Accepted86ms4916 KiB
40Accepted86ms4032 KiB
41Accepted86ms4148 KiB
42Accepted83ms3992 KiB
43Accepted86ms7116 KiB
44Accepted90ms8244 KiB
45Accepted98ms2032 KiB
46Accepted101ms1844 KiB
47Accepted101ms1848 KiB
48Accepted101ms1988 KiB
49Accepted103ms2356 KiB
50Accepted103ms2760 KiB
51Accepted100ms2776 KiB
52Accepted97ms2868 KiB
53Accepted104ms3380 KiB
54Accepted103ms4264 KiB