314792026-09-02 18:46:36Kristof0306Hírlánccpp17Elfogadva 80/8046ms11412 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using pll = pair<ll,ll>;
using vll = vector<ll>;
using vi = vector<int>;
using pi = pair<int, int>;
using vpi = vector<pair<int, int>>;
using vai = vector<array<int, 3>>;

#define x first
#define y second
#define all(x) x.begin(), x.end()

vi connect;
vi dp;

int regist_cycle=-1;

void dfs(int node) {
    dp[node] = -2;
    if (dp[connect[node]] == -1) {
        dfs(connect[node]);
        dp[node] = dp[connect[node]]+1;
    } else if (dp[connect[node]] == -2) {
        dp[node] = 0;
        regist_cycle = connect[node];
    } else {
        dp[node] = dp[connect[node]]+1;
    }

    if (regist_cycle == node) {
        int nex = connect[node];
        while (nex != node) {
            dp[nex] = dp[node];
            nex = connect[nex];
        } regist_cycle = -1;
    }
}

void solve() {
    int n; cin >> n;
    connect.resize(n);
    dp.resize(n, -1);
    for (int i = 0; i < n; i++) {
        int in; cin >> in; in--;
        connect[i] = in;
    }

    for (int i = 0; i < n; i++) {
        if (dp[i] == -1) dfs(i);
    }

    int kell = *max_element(all(dp));
    for (int i = 0; i < n; i++) {
        if (dp[i] == kell) {
            cout << i+1 << " " << dp[i]+1;
            return;
        }
    }
}

int main() {
	ios::sync_with_stdio(0);
    cin.tie(0);

    int t=1;
    //cin >> t;
    while (t--) {
        solve();
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms508 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva2ms508 KiB
11Elfogadva2ms316 KiB
12Elfogadva1ms508 KiB
subtask318/18
13Elfogadva32ms2216 KiB
14Elfogadva35ms2004 KiB
15Elfogadva35ms2180 KiB
16Elfogadva37ms2604 KiB
17Elfogadva39ms4660 KiB
18Elfogadva39ms5172 KiB
19Elfogadva41ms5172 KiB
20Elfogadva41ms5080 KiB
21Elfogadva43ms9524 KiB
22Elfogadva46ms11412 KiB
subtask442/42
23Elfogadva1ms316 KiB
24Elfogadva2ms508 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva2ms508 KiB
33Elfogadva2ms316 KiB
34Elfogadva1ms508 KiB
35Elfogadva32ms2216 KiB
36Elfogadva35ms2004 KiB
37Elfogadva35ms2180 KiB
38Elfogadva37ms2604 KiB
39Elfogadva39ms4660 KiB
40Elfogadva39ms5172 KiB
41Elfogadva41ms5172 KiB
42Elfogadva41ms5080 KiB
43Elfogadva43ms9524 KiB
44Elfogadva46ms11412 KiB
45Elfogadva30ms1848 KiB
46Elfogadva32ms1844 KiB
47Elfogadva32ms2096 KiB
48Elfogadva32ms2100 KiB
49Elfogadva34ms2612 KiB
50Elfogadva32ms3124 KiB
51Elfogadva34ms3124 KiB
52Elfogadva34ms3332 KiB
53Elfogadva35ms4340 KiB
54Elfogadva34ms4916 KiB