Submission #2484904
Source Code Expand
#include <iostream> #include <string> #include <algorithm> #include <vector> #include <utility> #include <cmath> #include <iomanip> #include <queue> #include <map> #include <set> #include <random> #include <sstream> #include <stack> #include <deque> using namespace std; #define REP(i,a,b) for(int i=a;i<b;i++) #define rep(i,n) REP(i,0,n) typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<ll> vl; int N; vector<vi> G; vector<map<int, int>> C; vector<priority_queue<int>> ans; vi sum; vi used; int dfs(int n) { int s = 1; used[n] = 1; for (int v : G[n]) { if (used[v]) { continue; } int c = 0; c = dfs(v); C[n][v] = c; ans[n].push(c); s += c; } sum[n] = s; return s; } int main() { cin >> N; G.resize(N); rep(i,N-1) { int p; cin >> p; G[i+1].push_back(p); G[p].push_back(i+1); } used.resize(N, 0); C.resize(N); ans.resize(N); sum.resize(N, 0); dfs(0); used.clear(); used.resize(N, 0); queue<int> q; q.push(0); while (!q.empty()) { int n = q.front(); q.pop(); if (used[n]) continue; used[n] = 1; for (int v : G[n]) { if (n) { int s = sum[v] - C[v][n]; // for (auto a : C[v]) { // if (a.first != n) { // s += a.second; // } // } // cout << n << " " << v << " " << C[n].count(v) << endl; if (!C[n].count(v)) { C[n][v] = s; sum[n] += s; } ans[n].push(s); } q.push(v); } } rep(i,N) cout << ans[i].top() << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 高橋王国の分割統治 |
User | bluenote |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1945 Byte |
Status | WA |
Exec Time | 275 ms |
Memory | 38272 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 30 | 0 / 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 | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | WA | 1 ms | 256 KB |
subtask1_03.txt | WA | 1 ms | 256 KB |
subtask1_04.txt | WA | 1 ms | 256 KB |
subtask1_05.txt | WA | 3 ms | 512 KB |
subtask1_06.txt | WA | 4 ms | 512 KB |
subtask1_07.txt | AC | 3 ms | 512 KB |
subtask1_08.txt | WA | 3 ms | 512 KB |
subtask1_09.txt | WA | 3 ms | 640 KB |
subtask2_01.txt | WA | 189 ms | 20480 KB |
subtask2_02.txt | WA | 271 ms | 25472 KB |
subtask2_03.txt | WA | 275 ms | 27776 KB |
subtask2_04.txt | WA | 274 ms | 27776 KB |
subtask2_05.txt | AC | 224 ms | 28536 KB |
subtask2_06.txt | WA | 226 ms | 28908 KB |
subtask2_07.txt | WA | 230 ms | 38272 KB |