208482026-01-10 10:29:08domdiridomdidomHírlánccpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms316 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms508 KiB
5Elfogadva2ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva1ms412 KiB
11Elfogadva1ms336 KiB
12Elfogadva1ms416 KiB
subtask318/18
13Elfogadva81ms1844 KiB
14Elfogadva79ms1976 KiB
15Elfogadva81ms2112 KiB
16Elfogadva82ms2356 KiB
17Elfogadva86ms4916 KiB
18Elfogadva86ms4032 KiB
19Elfogadva86ms4148 KiB
20Elfogadva83ms3992 KiB
21Elfogadva86ms7116 KiB
22Elfogadva90ms8244 KiB
subtask442/42
23Elfogadva2ms316 KiB
24Elfogadva2ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms508 KiB
27Elfogadva2ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva2ms316 KiB
32Elfogadva1ms412 KiB
33Elfogadva1ms336 KiB
34Elfogadva1ms416 KiB
35Elfogadva81ms1844 KiB
36Elfogadva79ms1976 KiB
37Elfogadva81ms2112 KiB
38Elfogadva82ms2356 KiB
39Elfogadva86ms4916 KiB
40Elfogadva86ms4032 KiB
41Elfogadva86ms4148 KiB
42Elfogadva83ms3992 KiB
43Elfogadva86ms7116 KiB
44Elfogadva90ms8244 KiB
45Elfogadva98ms2032 KiB
46Elfogadva101ms1844 KiB
47Elfogadva101ms1848 KiB
48Elfogadva101ms1988 KiB
49Elfogadva103ms2356 KiB
50Elfogadva103ms2760 KiB
51Elfogadva100ms2776 KiB
52Elfogadva97ms2868 KiB
53Elfogadva104ms3380 KiB
54Elfogadva103ms4264 KiB