Submission #53204970
Source Code Expand
Copy
(N,M),*ABC = $<.map{|ln| ln.split.map(&:to_i) }G = (N+1).times.map{|i| [[i,0]] }F = lambda{|a|G[a].kind_of?(Array) ? a : G[a] = F[G[a]]}U = lambda{|(a,b,c)| # a が c だけ b より後ろra,rb = F[a],F[b]next if ra==rbda = G[ra].find{|i,d| i==a }[1]db = G[rb].find{|i,d| i==b }[1]# db+c <=> daif db+c<da # G[rb] をずらして G[ra] に併合する。G[ra] の先頭の方が前にある。dd = da-(db+c)G[ra].concat G[rb].map{|i,d|[i,d+dd]}G[rb] = raelse # G[ra] をずらして G[rb] に併合する。G[rb] の先頭の方が前にある。dd = db+c-daG[rb].concat G[ra].map{|i,d|
(N,M),*ABC = $<.map{|ln| ln.split.map(&:to_i) } G = (N+1).times.map{|i| [[i,0]] } F = lambda{|a| G[a].kind_of?(Array) ? a : G[a] = F[G[a]] } U = lambda{|(a,b,c)| # a が c だけ b より後ろ ra,rb = F[a],F[b] next if ra==rb da = G[ra].find{|i,d| i==a }[1] db = G[rb].find{|i,d| i==b }[1] # db+c <=> da if db+c<da # G[rb] をずらして G[ra] に併合する。G[ra] の先頭の方が前にある。 dd = da-(db+c) G[ra].concat G[rb].map{|i,d| [i,d+dd] } G[rb] = ra else # G[ra] をずらして G[rb] に併合する。G[rb] の先頭の方が前にある。 dd = db+c-da G[rb].concat G[ra].map{|i,d| [i,d+dd] } G[ra] = rb end } ABC.each(&U) G.shift G.select!{|g| g.kind_of? Array } G.map!{|g| [g, g.inject(0){|m,(i,d)| m|1<<d }, [nil]*N ] } G.sort_by!{_2} H = G.inject(lambda{|_| true }){|nx,(g,m,ss)| sx = N-m.bit_length next Hash.new{|h,z| h[z] = ! (0..sx).select{|s| z&m<<s==0 && nx[z|m<<s] }.each{|s| ss[s] = s }.empty? } } H[0] Ans = [-1]*(N+1) G.each{|g,_,ss| s,ex = ss.compact g.each{|i,d| Ans[i] = s+1+d } if s && ! ex } puts Ans[1,N]*' '
Submission Info
Submission Time | |
---|---|
Task | F - Estimate Order |
User | ds14050 |
Language | Ruby (ruby 3.2.2) |
Score | 525 |
Code Size | 1169 Byte |
Status | AC |
Exec Time | 174 ms |
Memory | 20528 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 525 / 525 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample00.txt, sample01.txt, sample02.txt |
All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt, testcase42.txt, testcase43.txt, testcase44.txt, testcase45.txt, testcase46.txt, testcase47.txt, testcase48.txt, testcase49.txt, testcase50.txt, testcase51.txt, testcase52.txt, testcase53.txt, testcase54.txt, testcase55.txt, testcase56.txt, testcase57.txt, testcase58.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample00.txt | AC | 45 ms | 17160 KB |
sample01.txt | AC | 46 ms | 16944 KB |
sample02.txt | AC | 47 ms | 17228 KB |
testcase00.txt | AC | 46 ms | 17076 KB |
testcase01.txt | AC | 46 ms | 17468 KB |
testcase02.txt | AC | 46 ms | 17584 KB |
testcase03.txt | AC | 46 ms | 17496 KB |
testcase04.txt | AC | 46 ms | 17272 KB |
testcase05.txt | AC | 45 ms | 17176 KB |
testcase06.txt | AC | 46 ms | 17572 KB |
testcase07.txt | AC | 46 ms | 17388 KB |
testcase08.txt | AC | 46 ms | 17216 KB |
testcase09.txt | AC | 45 ms | 17412 KB |
testcase10.txt | AC | 46 ms | 17464 KB |
testcase11.txt | AC | 46 ms | 17444 KB |
testcase12.txt | AC | 46 ms | 17460 KB |
testcase13.txt | AC | 45 ms | 17284 KB |
testcase14.txt | AC | 45 ms | 17560 KB |
testcase15.txt | AC | 46 ms | 17380 KB |
testcase16.txt | AC | 45 ms | 17284 KB |
testcase17.txt | AC | 45 ms | 17420 KB |
testcase18.txt | AC | 46 ms | 17476 KB |
testcase19.txt | AC | 46 ms | 17464 KB |
testcase20.txt | AC | 46 ms | 17432 KB |
testcase21.txt | AC | 46 ms | 17468 KB |
testcase22.txt | AC | 46 ms | 17408 KB |
testcase23.txt | AC | 47 ms | 17460 KB |
testcase24.txt | AC | 46 ms | 17260 KB |
testcase25.txt | AC | 46 ms | 17584 KB |
testcase26.txt | AC | 47 ms | 17336 KB |
testcase27.txt | AC | 53 ms | 17804 KB |
testcase28.txt | AC | 53 ms | 17792 KB |
testcase29.txt | AC | 53 ms | 17820 KB |
testcase30.txt | AC | 63 ms | 18192 KB |
testcase31.txt | AC | 60 ms | 18436 KB |
testcase32.txt | AC | 68 ms | 18268 KB |
testcase33.txt | AC | 91 ms | 18840 KB |
testcase34.txt | AC | 74 ms | 18580 KB |
testcase35.txt | AC | 85 ms | 18852 KB |
testcase36.txt | AC | 119 ms | 19388 KB |
testcase37.txt | AC | 123 ms | 20000 KB |
testcase38.txt | AC | 124 ms | 19772 KB |
testcase39.txt | AC | 61 ms | 18080 KB |
testcase40.txt | AC | 147 ms | 20248 KB |
testcase41.txt | AC | 121 ms | 19720 KB |
testcase42.txt | AC | 164 ms | 20528 KB |
testcase43.txt | AC | 167 ms | 20104 KB |
testcase44.txt | AC | 164 ms | 20100 KB |
testcase45.txt | AC | 174 ms | 20300 KB |
testcase46.txt | AC | 173 ms | 20204 KB |
testcase47.txt | AC | 171 ms | 20124 KB |
testcase48.txt | AC | 76 ms | 18552 KB |
testcase49.txt | AC | 59 ms | 18116 KB |
testcase50.txt | AC | 107 ms | 19276 KB |
testcase51.txt | AC | 45 ms | 17204 KB |
testcase52.txt | AC | 45 ms | 17216 KB |
testcase53.txt | AC | 46 ms | 17364 KB |
testcase54.txt | AC | 46 ms | 17420 KB |
testcase55.txt | AC | 46 ms | 17400 KB |
testcase56.txt | AC | 46 ms | 17400 KB |
testcase57.txt | AC | 47 ms | 17404 KB |
testcase58.txt | AC | 47 ms | 17572 KB |