195252025-12-12 16:29:27szabelrHírlánccpp17Időlimit túllépés 38/80600ms3804 KiB
// hirlanc.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <map>
#include <vector>
#include <unordered_map>
#include <set>
using namespace std;

int main()
{
    int n,x,tanulo=1;
    cin >> n;
    vector<int> pairs(n+1);

    int best[200001];
    for (int i = 1; i <= n; i++)
    {
        cin >> x;
        pairs[i]=x;
        best[i] = 0;
    }
    
    int maxi = 0;
    
    for (int i = 1; i <= n; i++)
    {
        if (best[i] == 0) {
            int k = i;
            int og = i;
            vector<int> pontok;
            vector<int> hely(n+1,-1);
            while (hely[k]==-1 and best[k]==0)
            {
                pontok.push_back(k);
                hely[k] = pontok.size() - 1;
                k = pairs[k];
            }
            if (best[k] != 0)
            {
                int a = best[k] + 1;
                for (int y = pontok.size() - 1; y >= 0; y--)
                {
                    best[pontok[y]] = a;
                    a++;
                }
            }
            else
            {
                int size = pontok.size() - hely[k];
                for (int j = hely[k]; j <= pontok.size() - 1; j++)
                {
                    best[pontok[j]] = size;

                }
                int a = best[k] + 1;
                for (int j = hely[k] - 1; j >= 0; j--)
                {
                    best[pontok[j]] = a;
                    a++;

                }
            }
            
            if (best[i] > maxi)
            {
                maxi = best[i];
                tanulo = i;
            }
        }
    }
    cout << tanulo<<" "<<maxi;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms512 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms500 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms432 KiB
9Elfogadva2ms416 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms424 KiB
12Elfogadva1ms412 KiB
subtask318/18
13Elfogadva296ms2680 KiB
14Elfogadva96ms2596 KiB
15Elfogadva82ms2608 KiB
16Elfogadva76ms2648 KiB
17Elfogadva76ms2988 KiB
18Elfogadva79ms3760 KiB
19Elfogadva76ms3528 KiB
20Elfogadva79ms3404 KiB
21Elfogadva79ms3804 KiB
22Elfogadva75ms3716 KiB
subtask40/42
23Elfogadva1ms500 KiB
24Elfogadva2ms512 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms500 KiB
29Elfogadva2ms316 KiB
30Elfogadva2ms432 KiB
31Elfogadva2ms416 KiB
32Elfogadva2ms316 KiB
33Elfogadva1ms424 KiB
34Elfogadva1ms412 KiB
35Elfogadva296ms2680 KiB
36Elfogadva96ms2596 KiB
37Elfogadva82ms2608 KiB
38Elfogadva76ms2648 KiB
39Elfogadva76ms2988 KiB
40Elfogadva79ms3760 KiB
41Elfogadva76ms3528 KiB
42Elfogadva79ms3404 KiB
43Elfogadva79ms3804 KiB
44Elfogadva75ms3716 KiB
45Időlimit túllépés587ms2624 KiB
46Időlimit túllépés587ms2576 KiB
47Időlimit túllépés587ms2780 KiB
48Időlimit túllépés600ms2720 KiB
49Időlimit túllépés578ms2836 KiB
50Időlimit túllépés579ms2860 KiB
51Időlimit túllépés579ms2868 KiB
52Időlimit túllépés600ms2840 KiB
53Időlimit túllépés577ms3024 KiB
54Időlimit túllépés578ms3248 KiB