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
AC × 2
AC × 11
AC × 18
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