Submission #12467639


Source Code Expand

def enq(a,x)
  b = a[i=-1]
  until b.frozen?
    return a << x  if x >= (a=b)[-1]
    return a.unshift x  if x <= a[0]
    b = a[i = a.bsearch_index{|y| x < (y.frozen? ? y: y[0])}-1]
  end  if b && b=a
  return a.insert i+1, x  unless a[i+9]
  i>0 ? a[i]=[b,x] : enq(a[i+=1].to_a,x)  rescue a[i]=[x,a[i]]
end
def deq(a) r=a.pop; a.push *a.pop if !a[-1].frozen?; r end
NS = 6; NM = (1<<NS)-1
SS = 13;SM = (1<<SS)-1
F =-> {gets.split.map &:to_i}
N,M,S = F[]
V = Array.new N
E = V.map { [] }
M.times {
  u,v,a,b = F[]
  u -= 1; v -= 1
  E[u] << [v,a,b]
  E[v] << [u,a,b]
}
X = V.map { c,d = F[]; [d, [c,2500].min] }
R,Q = [], [[S,2500].min]
while R.size < N
  t = deq Q
  s = SM & t; t >>= SS
  n = NM & t; t >>= NS
  (v = V[n]&.&SM) ? (next if v>=s || v>2500) : R << [n,t]
  V[n] = (t<<SS) + s
  x = X[n]
  enq Q, (t-x[0]<<NS+SS) + (n<<SS) + s+x[1]
  E[n].each {|n,a,b| enq Q, (t-b<<NS+SS) + (n<<SS) + s-a  if s >= a }
end
puts R.sort![1,N].map{|i,t| -t}

Submission Info

Submission Time
Task E - Two Currencies
User l0rzl
Language Ruby (2.7.1)
Score 500
Code Size 987 Byte
Status AC
Exec Time 268 ms
Memory 14432 KiB

Compile Error

./Main.rb:11: warning: `*' interpreted as argument prefix

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 5
AC × 27
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt
All line_1.txt, line_2.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt
Case Name Status Exec Time Memory
line_1.txt AC 53 ms 14140 KiB
line_2.txt AC 268 ms 14352 KiB
random_01.txt AC 60 ms 14216 KiB
random_02.txt AC 61 ms 14140 KiB
random_03.txt AC 57 ms 14060 KiB
random_04.txt AC 64 ms 14432 KiB
random_05.txt AC 75 ms 14244 KiB
random_06.txt AC 57 ms 14204 KiB
random_07.txt AC 56 ms 14124 KiB
random_08.txt AC 60 ms 14348 KiB
random_09.txt AC 57 ms 14116 KiB
random_10.txt AC 73 ms 14336 KiB
random_11.txt AC 61 ms 14232 KiB
random_12.txt AC 54 ms 14328 KiB
random_13.txt AC 72 ms 14240 KiB
random_14.txt AC 54 ms 14300 KiB
random_15.txt AC 59 ms 14208 KiB
random_16.txt AC 61 ms 14332 KiB
random_17.txt AC 78 ms 14328 KiB
random_18.txt AC 54 ms 14264 KiB
random_19.txt AC 56 ms 14308 KiB
random_20.txt AC 55 ms 14220 KiB
sample_01.txt AC 53 ms 14256 KiB
sample_02.txt AC 50 ms 14260 KiB
sample_03.txt AC 53 ms 14400 KiB
sample_04.txt AC 51 ms 14004 KiB
sample_05.txt AC 56 ms 14140 KiB