Submission #1591781


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define fill(x,y) memset(x,y,sizeof(x))
#define fi first
#define se second
#define sz(x) ((int) (x).size())
#define all(x) (x).begin(), (x).end()
#define sqr(x) ((x) * (x))
#define sqrt(x) sqrt(abs(x))
#define mp make_pair
#define pb push_back
#define smp(x,y,z) mp(x,mp(y,z))
#define reads(x) scanf("%s",&x)
#define read(x) scanf("%d",&x)
#define read2(x,y) scanf("%d%d",&x,&y)
#define read3(x,y,z) scanf("%d%d%d",&x,&y,&z)

typedef long long ll;
typedef string s;
typedef pair<int,int> pii;
typedef pair<int,string> pis;
typedef pair<string,int> psi;
typedef pair<string,string> pss;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pii> vpii;
typedef vector<vector<int> > matrix;

const ll oo = 1e9+7;
const int maxSize = 100100;
const int mod = 1e9+7;

const double EPS = (1e-9);

int dcmp(double x, double y){return fabs(x-y) <= EPS ? 0 : x < y ? -1 : 1;}

map<int,vi> seq;
map<int,priority_queue<pii> > childs;
map<int,int> maxi;
vector<pii> coun;

int dfs(int n){
    vi childss = seq[n] ;
    if(childss.empty())return 1;
    int maxii = 0 ;
    for(int i : childss){
        maxii=max(maxii,dfs(i));
    }
    maxi[n] = max(maxii,(int)childss.size());
    return maxii+1;
}

int main(){

    int n  ; cin >> n ;
    for(int i=2 ;i<=n ;i++){
        int num ; cin >> num ;
        if(i!=num)seq[num].pb(i) ;
    }
    dfs(1);
    for(pair<int,vi> i : seq){
        for(int j : i.se){
            childs[i.fi].push({maxi[j],j}) ;
        }
    }
    int res=-1 ;
    coun.pb({1,0});
    while(!coun.empty()){
        pii out = coun.back() ; coun.pop_back() ;
        if(childs[out.fi].size()==0)continue;
        coun.pb({out.fi,out.se+1});
        pii out2 = childs[out.fi].top() ; childs[out.fi].pop() ;
        coun.pb({out2.se,out.se+1});
        res=max(res,out.se+1);
    }
    cout << res ;
}

Submission Info

Submission Time
Task B - Tournament
User vjudge4
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1868 Byte
Status WA
Exec Time 247 ms
Memory 37372 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 3
AC × 30
WA × 23
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, s1.txt, s2.txt, s3.txt
Case Name Status Exec Time Memory
01.txt AC 242 ms 24064 KB
02.txt WA 242 ms 24064 KB
03.txt WA 242 ms 24064 KB
04.txt WA 242 ms 24064 KB
05.txt WA 243 ms 24064 KB
06.txt WA 243 ms 24064 KB
07.txt WA 244 ms 24064 KB
08.txt WA 242 ms 24064 KB
09.txt WA 243 ms 24064 KB
10.txt WA 247 ms 24064 KB
11.txt AC 177 ms 37372 KB
12.txt AC 162 ms 32120 KB
13.txt AC 146 ms 30200 KB
14.txt AC 138 ms 28280 KB
15.txt AC 139 ms 27004 KB
16.txt AC 141 ms 25984 KB
17.txt AC 141 ms 25344 KB
18.txt AC 149 ms 24832 KB
19.txt WA 168 ms 24704 KB
20.txt AC 184 ms 24704 KB
21.txt AC 142 ms 21740 KB
22.txt AC 130 ms 21784 KB
23.txt AC 115 ms 21744 KB
24.txt AC 111 ms 21884 KB
25.txt AC 109 ms 21760 KB
26.txt WA 100 ms 21888 KB
27.txt WA 104 ms 21888 KB
28.txt WA 123 ms 21888 KB
29.txt WA 147 ms 22144 KB
30.txt WA 166 ms 22144 KB
31.txt WA 161 ms 23680 KB
32.txt WA 144 ms 23168 KB
33.txt WA 157 ms 22528 KB
34.txt WA 147 ms 22656 KB
35.txt WA 114 ms 23040 KB
36.txt WA 106 ms 21888 KB
37.txt WA 97 ms 21888 KB
38.txt WA 98 ms 22144 KB
39.txt AC 124 ms 22144 KB
40.txt AC 130 ms 21760 KB
41.txt AC 1 ms 256 KB
42.txt AC 1 ms 256 KB
43.txt AC 1 ms 256 KB
44.txt AC 1 ms 256 KB
45.txt AC 1 ms 256 KB
46.txt AC 1 ms 256 KB
47.txt AC 1 ms 256 KB
48.txt AC 1 ms 256 KB
49.txt AC 1 ms 256 KB
50.txt AC 1 ms 256 KB
s1.txt AC 1 ms 256 KB
s2.txt AC 1 ms 256 KB
s3.txt AC 1 ms 256 KB