189642025-11-13 18:36:05ercseferencHírlánccpp17Futási hiba 20/80247ms262144 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int>a,hossz;
vector<bool>volt;
vector<vector<int>>sor;
void nez(int x,int y){
    volt[x]=1;
    sor[y].push_back(x); volt[x]=1;
    if(hossz[a[x]]!=0){
        hossz[sor[y][sor[y].size()-1]]=hossz[a[x]]+1;
        for(int i=sor[y].size()-2; i>=0; i--)
            hossz[sor[y][i]]=hossz[sor[y][i+1]]+1;
        sor[y].clear();}
    else if(volt[a[x]]){
        int ind=-1;
        for(int i=0; i<sor[y].size(); i++)
            if(sor[y][i]==a[x]){ind=i; break;}
        for(int i=ind; i<sor[y].size(); i++)
            hossz[sor[y][i]]=sor[y].size()-ind;
        for(int i=ind-1; i>=0; i--)
            hossz[sor[y][i]]=hossz[sor[y][i+1]]+1;
        sor[y].clear();}
    else nez(a[x],y);}
int main()
{
    int n; cin>>n; a.resize(n+1); hossz.resize(n+1);
    volt.resize(n+1); sor.resize(n+1,vector<int>(n+1));
    for(int i=1; i<=n; i++)cin>>a[i];
    for(int i=1; i<=n; i++)if(hossz[i]==0)nez(i,i);
    int maxi=-1, maxind;
    for(int i=1; i<=n; i++){
        if(hossz[i]>maxi){maxi=hossz[i]; maxind=i;}}
    cout<<maxind<<" "<<maxi;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
subtask220/20
2Elfogadva28ms23684 KiB
3Elfogadva28ms23604 KiB
4Elfogadva25ms23988 KiB
5Elfogadva28ms23860 KiB
6Elfogadva28ms23300 KiB
7Elfogadva23ms22836 KiB
8Elfogadva29ms23952 KiB
9Elfogadva29ms24116 KiB
10Elfogadva14ms16580 KiB
11Elfogadva16ms16180 KiB
12Elfogadva14ms16240 KiB
subtask30/18
13Futási hiba241ms262144 KiB
14Futási hiba200ms262144 KiB
15Futási hiba240ms262144 KiB
16Futási hiba247ms262144 KiB
17Futási hiba204ms262144 KiB
18Futási hiba204ms262144 KiB
19Futási hiba238ms262144 KiB
20Futási hiba199ms262144 KiB
21Futási hiba241ms262144 KiB
22Futási hiba202ms262144 KiB
subtask40/42
23Elfogadva1ms316 KiB
24Elfogadva28ms23684 KiB
25Elfogadva28ms23604 KiB
26Elfogadva25ms23988 KiB
27Elfogadva28ms23860 KiB
28Elfogadva28ms23300 KiB
29Elfogadva23ms22836 KiB
30Elfogadva29ms23952 KiB
31Elfogadva29ms24116 KiB
32Elfogadva14ms16580 KiB
33Elfogadva16ms16180 KiB
34Elfogadva14ms16240 KiB
35Futási hiba241ms262144 KiB
36Futási hiba200ms262144 KiB
37Futási hiba240ms262144 KiB
38Futási hiba247ms262144 KiB
39Futási hiba204ms262144 KiB
40Futási hiba204ms262144 KiB
41Futási hiba238ms262144 KiB
42Futási hiba199ms262144 KiB
43Futási hiba241ms262144 KiB
44Futási hiba202ms262144 KiB
45Futási hiba239ms262144 KiB
46Futási hiba200ms262144 KiB
47Futási hiba196ms262144 KiB
48Futási hiba240ms262144 KiB
49Futási hiba197ms262144 KiB
50Futási hiba201ms262144 KiB
51Futási hiba245ms262144 KiB
52Futási hiba202ms262144 KiB
53Futási hiba243ms262144 KiB
54Futási hiba202ms262144 KiB