Submission #2123965
Source Code Expand
#include <iostream> #include <vector> #include <utility> #define llint long long using namespace std; typedef pair<llint, llint> P; llint N; llint s[100005]; vector<P> G[100005]; llint ans[100005]; llint centi, centa, centb; llint dfs(int v, int prev) { llint ret = 0, res, d1, d2; for(int i = 0; i < G[v].size(); i++){ if(G[v][i].first == prev) continue; res = dfs(G[v][i].first, v); ret += res; if(N % 2 == 0 && res == N/2){ centi = G[v][i].second; centa = v; centb = G[v][i].first; continue; } ans[G[v][i].second] = (s[v] - s[G[v][i].first]) / (2*res - N); } return ret + 1; } P dfs2(int v, int prev) { P ret = make_pair(0, 0), res; for(int i = 0; i < G[v].size(); i++){ if(G[v][i].first == prev) continue; res = dfs2(G[v][i].first, v); ret.first += res.first + res.second * ans[G[v][i].second]; ret.second += res.second; } ret.second++; return ret; } int main(void) { cin >> N; int a, b; for(int i = 1; i <= N-1; i++){ cin >> a >> b; G[a].push_back(make_pair(b, i)); G[b].push_back(make_pair(a, i)); } for(int i = 1; i <= N; i++) cin >> s[i]; dfs(1, -1); if(centi != 0){ llint s1 = dfs2(centa, centb).first; llint s2 = dfs2(centb, centa).first; ans[centi] = (s[centa] - (s1+s2)) / (N / 2); } for(int i = 1; i <= N-1; i++){ cout << ans[i] << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Ancient Tree Record |
User | leaf1415 |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 1407 Byte |
Status | AC |
Exec Time | 339 ms |
Memory | 17280 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | 200 / 200 | 300 / 300 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
Subtask1 | 00_example_01.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt |
Subtask2 | 00_example_02.txt, s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt, s3_24.txt, s3_25.txt, s3_26.txt, s3_27.txt, s3_28.txt, s3_29.txt, s3_30.txt, s3_31.txt, s3_32.txt, s3_33.txt, s3_34.txt, s3_35.txt, s3_36.txt, s3_37.txt, s3_38.txt, s3_39.txt, s3_40.txt, s3_41.txt, s3_42.txt, s3_43.txt, s3_44.txt, s3_45.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 2 ms | 2560 KB |
00_example_02.txt | AC | 2 ms | 2560 KB |
00_example_03.txt | AC | 2 ms | 2560 KB |
s1_01.txt | AC | 173 ms | 10880 KB |
s1_02.txt | AC | 244 ms | 14208 KB |
s1_03.txt | AC | 12 ms | 3072 KB |
s1_04.txt | AC | 204 ms | 12288 KB |
s1_05.txt | AC | 33 ms | 4096 KB |
s1_06.txt | AC | 304 ms | 17280 KB |
s1_07.txt | AC | 306 ms | 17280 KB |
s1_08.txt | AC | 304 ms | 17280 KB |
s1_09.txt | AC | 2 ms | 2560 KB |
s1_10.txt | AC | 2 ms | 2560 KB |
s1_11.txt | AC | 2 ms | 2560 KB |
s1_12.txt | AC | 2 ms | 2560 KB |
s1_13.txt | AC | 2 ms | 2560 KB |
s2_14.txt | AC | 158 ms | 6516 KB |
s2_15.txt | AC | 224 ms | 8176 KB |
s2_16.txt | AC | 280 ms | 9584 KB |
s2_17.txt | AC | 278 ms | 9584 KB |
s2_18.txt | AC | 285 ms | 9584 KB |
s2_19.txt | AC | 282 ms | 9584 KB |
s2_20.txt | AC | 2 ms | 2560 KB |
s2_21.txt | AC | 2 ms | 2560 KB |
s2_22.txt | AC | 2 ms | 2560 KB |
s2_23.txt | AC | 2 ms | 2560 KB |
s3_24.txt | AC | 170 ms | 6784 KB |
s3_25.txt | AC | 244 ms | 8320 KB |
s3_26.txt | AC | 12 ms | 2816 KB |
s3_27.txt | AC | 203 ms | 7424 KB |
s3_28.txt | AC | 32 ms | 3328 KB |
s3_29.txt | AC | 311 ms | 9856 KB |
s3_30.txt | AC | 310 ms | 9984 KB |
s3_31.txt | AC | 317 ms | 9856 KB |
s3_32.txt | AC | 323 ms | 13696 KB |
s3_33.txt | AC | 339 ms | 16128 KB |
s3_34.txt | AC | 300 ms | 9584 KB |
s3_35.txt | AC | 300 ms | 9584 KB |
s3_36.txt | AC | 2 ms | 2560 KB |
s3_37.txt | AC | 2 ms | 2560 KB |
s3_38.txt | AC | 2 ms | 2560 KB |
s3_39.txt | AC | 2 ms | 2560 KB |
s3_40.txt | AC | 172 ms | 6784 KB |
s3_41.txt | AC | 252 ms | 8320 KB |
s3_42.txt | AC | 12 ms | 2816 KB |
s3_43.txt | AC | 315 ms | 9856 KB |
s3_44.txt | AC | 310 ms | 9984 KB |
s3_45.txt | AC | 319 ms | 9856 KB |