195242025-12-12 16:27:44szabelrHírlánccpp17Időlimit túllépés 38/80601ms12772 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;
    unordered_map <int, int> pairs;
    cin >> n;
    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
2Elfogadva2ms316 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms352 KiB
12Elfogadva2ms316 KiB
subtask318/18
13Elfogadva358ms10752 KiB
14Elfogadva209ms10884 KiB
15Elfogadva187ms10840 KiB
16Elfogadva133ms10952 KiB
17Elfogadva143ms12428 KiB
18Elfogadva144ms11564 KiB
19Elfogadva146ms11720 KiB
20Elfogadva159ms11612 KiB
21Elfogadva159ms12648 KiB
22Elfogadva142ms12772 KiB
subtask40/42
23Elfogadva1ms316 KiB
24Elfogadva2ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva2ms316 KiB
30Elfogadva2ms316 KiB
31Elfogadva2ms316 KiB
32Elfogadva2ms316 KiB
33Elfogadva2ms352 KiB
34Elfogadva2ms316 KiB
35Elfogadva358ms10752 KiB
36Elfogadva209ms10884 KiB
37Elfogadva187ms10840 KiB
38Elfogadva133ms10952 KiB
39Elfogadva143ms12428 KiB
40Elfogadva144ms11564 KiB
41Elfogadva146ms11720 KiB
42Elfogadva159ms11612 KiB
43Elfogadva159ms12648 KiB
44Elfogadva142ms12772 KiB
45Időlimit túllépés587ms10844 KiB
46Időlimit túllépés588ms10844 KiB
47Időlimit túllépés587ms10780 KiB
48Időlimit túllépés600ms11800 KiB
49Időlimit túllépés583ms10900 KiB
50Időlimit túllépés584ms11100 KiB
51Időlimit túllépés584ms11116 KiB
52Időlimit túllépés601ms10972 KiB
53Időlimit túllépés578ms11352 KiB
54Időlimit túllépés579ms11544 KiB