結果
問題 | No.386 貪欲な領主 |
ユーザー | むらため |
提出日時 | 2019-02-05 13:50:12 |
言語 | Nim (2.0.2) |
結果 |
AC
|
実行時間 | 516 ms / 2,000 ms |
コード長 | 945 bytes |
コンパイル時間 | 3,483 ms |
コンパイル使用メモリ | 66,864 KB |
実行使用メモリ | 40,720 KB |
最終ジャッジ日時 | 2024-07-01 11:25:45 |
合計ジャッジ時間 | 6,525 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,812 KB |
testcase_01 | AC | 2 ms
6,948 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | AC | 2 ms
6,940 KB |
testcase_04 | AC | 516 ms
40,720 KB |
testcase_05 | AC | 367 ms
26,716 KB |
testcase_06 | AC | 377 ms
26,532 KB |
testcase_07 | AC | 4 ms
6,940 KB |
testcase_08 | AC | 44 ms
6,940 KB |
testcase_09 | AC | 6 ms
6,940 KB |
testcase_10 | AC | 2 ms
6,940 KB |
testcase_11 | AC | 2 ms
6,940 KB |
testcase_12 | AC | 4 ms
6,940 KB |
testcase_13 | AC | 10 ms
6,944 KB |
testcase_14 | AC | 385 ms
27,028 KB |
testcase_15 | AC | 432 ms
40,640 KB |
コンパイルメッセージ
/home/judge/data/code/Main.nim(2, 8) Warning: Deprecated since v1.5; Use auto instead.; any is deprecated [Deprecated] /home/judge/data/code/Main.nim(3, 8) Warning: Deprecated since v1.5; Use auto instead.; any is deprecated [Deprecated]
ソースコード
import sequtils,bitops,strutils proc r:any=stdin.readLine.parseInt proc R:any=stdin.readLine.split.map parseInt var n=r() E=newSeqWith n:newSeq[int]0 A=E m=n.fastLog2+1 d=newSeq[int]n p=newSeqWith m:newSeq[int]n for _ in 0..<n-1:(let t=R();E[t[0]]&=t[1];E[t[1]]&=t[0]) var C=newSeqWith n:r() I=newSeqWith n: -1 a=0 proc i(e,w:int)=(for t in E[w]:(if t!=e:(A[w]&=t;i(w,t)))) i -1,0 E=A proc fp(s,e,cd:int)=(p[0][s]=e;d[s]=cd;for t in E[s]:(if t!=e:fp t,s,cd+1)) fp 0,-1,0 for k in 0..<m-1:(for v in 0..<n:(if p[k][v]<0:p[k+1][v]= -1 else:p[k+1][v]=p[k][p[k][v]])) proc x(u,v:int):int=(var(u,v)=(u,v);if d[u]>d[v]:swap u,v;for k in 0..<m:(if(((d[v]-d[u])shr k)and 1)!=0:v=p[k][v]);if u==v:return u;for k in(m-1).countdown 0:(if p[k][u]!=p[k][v]:(u=p[k][u];v=p[k][v]));return p[0][u]) proc ff(i,c:int)=(I[i]=C[i]+c;for t in E[i]:ff t,I[i]) ff 0,0 for _ in 0..<r():(let t=R();let y=x(t[0],t[1]);a+=(I[t[0]]+I[t[1]]-2*I[y]+C[y])*t[2]) echo a