結果
問題 | No.1928 Make a Binary Tree |
ユーザー |
![]() |
提出日時 | 2022-05-06 22:26:49 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 58 ms / 3,000 ms |
コード長 | 544 bytes |
コンパイル時間 | 2,844 ms |
コンパイル使用メモリ | 180,684 KB |
実行使用メモリ | 44,948 KB |
最終ジャッジ日時 | 2024-07-05 23:45:28 |
合計ジャッジ時間 | 6,555 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 57 |
ソースコード
graph g; priority_queue<ll> f(ll i,ll p){ priority_queue<ll> q; rep[g.edge[i]](j,g.es[i]){ if(j!=p){ auto r=f(j,i); if(r.size()>q.size()){ swap(r,q); } while(!r.empty()){ ll x=r.top(); r.pop(); q.push(x); } } } if(q.size()==0){ q.push(1); } else if(q.size()==1){ ll x=q.top(); q.pop(); q.push(x+1); } else{ ll x=q.top(); q.pop(); ll y=q.top(); q.pop(); q.push(x+y+1); } return q; } { ll@n; int a[n],b[]; rd((a,b)(n-1)); g.setEdge(n+1,n-1,a,b); auto r=f(1,1); wt(r.top()); }