Submission #14435898
Source Code Expand
N = gets.to_i
A = gets.split.map(&:to_i)
E = Array.new(N){ [] }
(N-1).times{
u,v = gets.split.map(&:to_i)
E[u-1]<<v-1
E[v-1]<<u-1
}
B = [nil]*N
F = lambda{|u,a|
next if B[u]
i = a.bsearch_index{|_| A[u]<=_ }||a.size
z,a[i] = a[i],A[u]
B[u] = a.size
E[u].each{|v|
F[v,a]
}
if z
a[i] = z
else
a.pop
end
}
F[0,[]]
p(*B)
Submission Info
| Submission Time | |
|---|---|
| Task | F - LIS on Tree |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 600 |
| Code Size | 360 Byte |
| Status | AC |
| Exec Time | 707 ms |
| Memory | 259260 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | Sample_01.txt |
| All | Sample_01.txt, caterpillar_01.txt, ni_01.txt, ni_02.txt, ni_03.txt, path_02.txt, path_04.txt, path_07.txt, path_08.txt, rand_01.txt, rand_02.txt, rand_03.txt, rand_04.txt, rand_05.txt, rand_large_01.txt, same_01.txt, star_01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| Sample_01.txt | AC | 61 ms | 14012 KiB |
| caterpillar_01.txt | AC | 615 ms | 107220 KiB |
| ni_01.txt | AC | 61 ms | 14100 KiB |
| ni_02.txt | AC | 58 ms | 14256 KiB |
| ni_03.txt | AC | 67 ms | 14072 KiB |
| path_02.txt | AC | 679 ms | 191384 KiB |
| path_04.txt | AC | 611 ms | 83144 KiB |
| path_07.txt | AC | 652 ms | 125084 KiB |
| path_08.txt | AC | 669 ms | 179848 KiB |
| rand_01.txt | AC | 59 ms | 14172 KiB |
| rand_02.txt | AC | 65 ms | 14040 KiB |
| rand_03.txt | AC | 59 ms | 14116 KiB |
| rand_04.txt | AC | 66 ms | 14076 KiB |
| rand_05.txt | AC | 66 ms | 13928 KiB |
| rand_large_01.txt | AC | 528 ms | 55188 KiB |
| same_01.txt | AC | 707 ms | 259260 KiB |
| star_01.txt | AC | 465 ms | 53592 KiB |