231002026-01-16 12:04:59sklausHírlánccpp17Elfogadva 80/8041ms3916 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int> t(n+1);
    for(int i=1; i<=n; i++)cin>>t[i];
    vector<int> marvolt(n+1, 0);
    vector<int> eredmeny(n+1, 0);
    int maxi = 0;
    int legjobb = -1;
    for(int i=1; i<=n; i++)
    {
        int most = i;
        vector<int> ut;
        while(marvolt[most] != i and eredmeny[most] == 0)
        {
            marvolt[most] = i;
            ut.push_back(most);
            most = t[most];
        }
        if(eredmeny[most] != 0)
        {
            int hossz = eredmeny[most];
            for(int j=ut.size()-1; j>=0; j--)
            {
                hossz++;
                eredmeny[ut[j]] = hossz;
            }
        }
        else
        {
            int tor = -1;
            for(int j=0; j<ut.size(); j++)
            {
                if(ut[j] == most)
                {
                    tor = j;
                    break;
                }
            }
            int hossz = ut.size() - tor;
            for(int j=tor; j<ut.size(); j++)
            {
                eredmeny[ut[j]] = hossz;
            }
            int akt = hossz;
            for(int j=tor-1; j>=0; j--)
            {
                akt++;
                eredmeny[ut[j]] = akt;
            }
        }
    }
    for(int i=1; i<=n; i++)
    {
        if(eredmeny[i] > maxi)
        {
            maxi = eredmeny[i];
            legjobb = i;
        }
    }
    cout << legjobb << " " << maxi;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva1ms328 KiB
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms416 KiB
subtask318/18
13Elfogadva35ms2788 KiB
14Elfogadva35ms2612 KiB
15Elfogadva35ms2756 KiB
16Elfogadva35ms2764 KiB
17Elfogadva37ms3172 KiB
18Elfogadva37ms3424 KiB
19Elfogadva35ms3420 KiB
20Elfogadva35ms3568 KiB
21Elfogadva35ms3916 KiB
22Elfogadva35ms3768 KiB
subtask442/42
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva1ms328 KiB
27Elfogadva1ms316 KiB
28Elfogadva1ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva1ms316 KiB
32Elfogadva1ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms416 KiB
35Elfogadva35ms2788 KiB
36Elfogadva35ms2612 KiB
37Elfogadva35ms2756 KiB
38Elfogadva35ms2764 KiB
39Elfogadva37ms3172 KiB
40Elfogadva37ms3424 KiB
41Elfogadva35ms3420 KiB
42Elfogadva35ms3568 KiB
43Elfogadva35ms3916 KiB
44Elfogadva35ms3768 KiB
45Elfogadva39ms2760 KiB
46Elfogadva39ms2612 KiB
47Elfogadva39ms2820 KiB
48Elfogadva39ms2760 KiB
49Elfogadva39ms2868 KiB
50Elfogadva41ms2868 KiB
51Elfogadva41ms2868 KiB
52Elfogadva37ms2868 KiB
53Elfogadva39ms3484 KiB
54Elfogadva39ms3252 KiB