Submission #2162126


Source Code Expand

#include <stdio.h>
#include <bits/stdc++.h>			

#define pb push_back
#define pf push_front
#define pp pop_back
#define sz(a) (int)(a.size())
#define mp make_pair
#define F first
#define S second
#define next _next
#define prev _prev
#define left _left
#define right _right
#define y1 _y1
#define all(x) x.begin(), x.end()
#define what_is(x) #x << " is " << (x)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int N = (int)1e6 + 123;
const ll INF = (ll)1e18 + 123;
const int inf = (int)1e9 + 123;
const int MOD = (int)1e9 + 7;

void megaRandom() {
	unsigned int FOR;
 	asm("rdtsc" : "=A"(FOR));
  srand(FOR);
}

int n, a[N];
bool u[N];
vector<int> g[N];

int rec(int x) {
	u[x] = 1;
	set<pii> st;
	for(auto to : g[x]) {
	  if(u[to]) continue;
		st.insert(mp(rec(to), to));
	}
	int mx = 0, height = sz(st);//sz(g[x]) - 1;
	while(sz(st) > 0) {
		pii now = *st.begin();
		st.erase(st.begin());
		mx = max(mx, height + now.F);		
		height --;
	}
	return mx;
}

int main() {
	megaRandom();
	scanf("%d", &n);
	for(int i = 2; i <= n; i ++) {
		scanf("%d", &a[i]);
		g[i].pb(a[i]);
		g[a[i]].pb(i);
	}
	printf("%d", rec(1));
	return 0;  
}

Submission Info

Submission Time
Task B - Tournament
User Aidyn_A
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1313 Byte
Status AC
Exec Time 46 ms
Memory 42496 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:61:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
                 ^
./Main.cpp:63:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a[i]);
                     ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 53
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 43 ms 30080 KB
02.txt AC 44 ms 30080 KB
03.txt AC 44 ms 30080 KB
04.txt AC 43 ms 30080 KB
05.txt AC 44 ms 30080 KB
06.txt AC 44 ms 30080 KB
07.txt AC 43 ms 30080 KB
08.txt AC 44 ms 30080 KB
09.txt AC 43 ms 30080 KB
10.txt AC 43 ms 30080 KB
11.txt AC 43 ms 42496 KB
12.txt AC 42 ms 39040 KB
13.txt AC 41 ms 36992 KB
14.txt AC 41 ms 34816 KB
15.txt AC 40 ms 33280 KB
16.txt AC 40 ms 31872 KB
17.txt AC 39 ms 30976 KB
18.txt AC 39 ms 30336 KB
19.txt AC 41 ms 30080 KB
20.txt AC 40 ms 30080 KB
21.txt AC 46 ms 35064 KB
22.txt AC 43 ms 32760 KB
23.txt AC 41 ms 31988 KB
24.txt AC 40 ms 31360 KB
25.txt AC 38 ms 30976 KB
26.txt AC 38 ms 30720 KB
27.txt AC 39 ms 30592 KB
28.txt AC 38 ms 30464 KB
29.txt AC 38 ms 30592 KB
30.txt AC 38 ms 30592 KB
31.txt AC 38 ms 29952 KB
32.txt AC 35 ms 29952 KB
33.txt AC 36 ms 30336 KB
34.txt AC 35 ms 30208 KB
35.txt AC 35 ms 30464 KB
36.txt AC 34 ms 30720 KB
37.txt AC 33 ms 30336 KB
38.txt AC 33 ms 30464 KB
39.txt AC 34 ms 30592 KB
40.txt AC 34 ms 30464 KB
41.txt AC 9 ms 24832 KB
42.txt AC 9 ms 24832 KB
43.txt AC 9 ms 24832 KB
44.txt AC 9 ms 24832 KB
45.txt AC 9 ms 24832 KB
46.txt AC 9 ms 24832 KB
47.txt AC 9 ms 24832 KB
48.txt AC 9 ms 24832 KB
49.txt AC 9 ms 24832 KB
50.txt AC 9 ms 24832 KB
s1.txt AC 9 ms 24832 KB
s2.txt AC 10 ms 24832 KB
s3.txt AC 9 ms 24832 KB