Submission #1367933
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define all(c) (c).begin(),(c).end()
#define rep(i,n) for(int i=0; i<(int)(n); i++)
#define rrep(i,n) for(int i=(int)(n)-1; i>=0; i--)
#define REP(i,m,n) for(int i=(int)(m); i<(int)(n); i++)
#define iter(c) __typeof((c).begin())
#define tr(it,c) for(iter(c) it=(c).begin(); it!=(c).end(); it++)
#define pb(a) push_back(a)
#define pr(a) cout << (a) << endl
#define PR(a,b) cout << (a) << " " << (b) << endl
#define F first
#define S second
typedef long long ll;
typedef pair<int,int> P;
const int MAX=1000000001;
const ll MAXL=1000000000000000001LL;
const ll mod=1000000007;
int dx[4]={-1,0,1,0},dy[4]={0,-1,0,1};
vector<P> v[100001];
int solve(int i,int p) {
if(v[i].size()==1) return 1;
int sum=0;
rep(j,v[i].size()) {
if(v[i][j].F!=p) {
if(v[i][j].S==0) {
v[i][j].S=solve(v[i][j].F,i);
sum+=v[i][j].S;
} else sum+=v[i][j].S;
}
}
return sum+1;
}
int main() {
int n;
cin >> n;
rep(i,n-1) {
int x;
cin >> x;
v[i+1].pb(P(x,0));
v[x].pb(P(i+1,0));
}
rep(i,n) {
int ans=0;
if(v[i].size()==1) pr(n-1);
else {
rep(j,v[i].size()) {
if(v[i][j].S==0) ans=max(ans,solve(v[i][j].F,i));
else ans=max(ans,v[i][j].S);
}
pr(ans);
}
}
return 0;
}
Submission Info
Submission Time |
|
Task |
C - 高橋王国の分割統治 |
User |
kzyKT |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1337 Byte |
Status |
AC |
Exec Time |
228 ms |
Memory |
14080 KB |
Judge Result
Set Name |
Sample |
Subtask1 |
Subtask2 |
Score / Max Score |
0 / 0 |
30 / 30 |
70 / 70 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt |
Subtask1 |
sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt |
Subtask2 |
sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
2 ms |
2560 KB |
sample_02.txt |
AC |
2 ms |
2560 KB |
subtask1_01.txt |
AC |
2 ms |
2560 KB |
subtask1_02.txt |
AC |
2 ms |
2560 KB |
subtask1_03.txt |
AC |
2 ms |
2560 KB |
subtask1_04.txt |
AC |
3 ms |
2560 KB |
subtask1_05.txt |
AC |
4 ms |
2560 KB |
subtask1_06.txt |
AC |
4 ms |
2688 KB |
subtask1_07.txt |
AC |
4 ms |
2688 KB |
subtask1_08.txt |
AC |
4 ms |
2688 KB |
subtask1_09.txt |
AC |
4 ms |
2688 KB |
subtask2_01.txt |
AC |
161 ms |
5888 KB |
subtask2_02.txt |
AC |
202 ms |
6528 KB |
subtask2_03.txt |
AC |
221 ms |
6912 KB |
subtask2_04.txt |
AC |
228 ms |
6912 KB |
subtask2_05.txt |
AC |
190 ms |
7028 KB |
subtask2_06.txt |
AC |
189 ms |
7148 KB |
subtask2_07.txt |
AC |
215 ms |
14080 KB |