fork download
  1. f=->n{*a=5*10**8
  2. 14.times{|i|a<<a[-1]/[5,4,5,5,2][i%5]}
  3. a=a.zip("SVTILAMCOPYBGRW".chars).map{|v,c|[-(n/v),v,c,n%=v]}.sort
  4. l=-a[0][0]
  5. (1..l).map{|i|a.map{|d|l-i<-d[0]?d[2]:""}*""}}
  6.  
  7. for test in [1,9378278,22222222,1342185143,2147483647,4294967295]
  8. puts test
  9. puts f.call(test)
  10. puts
  11. end
  12.  
Success #stdin #stdout 0.01s 9792KB
stdin
1
stdout
1
W

9378278
L
LWGPCM
LWGPCMB
LWGPCMBI

22222222
ROI
ROI
ROIWBPML
ROIWBPML

1342185143
WRCIV
WRCIVOLS
WRCIVOLSGBMT

2147483647
RMIS
RMISPC
RMISPCWL
RMISPCWLGBYOTV

4294967295
S
S
S
S
SRML
SRMLGOIT
SRMLGOITBPCV
SRMLGOITBPCVA