fork(1) download
  1. cs=[0]*101
  2. n,d=gets.split(" ").map{|e| e.to_i}
  3. xs=gets.split(" ").map{|e| e.to_i}
  4. xs.each{|e|
  5. cs[e]+=1
  6. }
  7. 1.upto(d){|d2|
  8. 0.upto(100-d2){|d3|
  9. u3=d2+d3
  10. if 0<cs[d3] && 0<cs[u3] then
  11. d0=[cs[d3],cs[u3]].min
  12. cs[d3]-=d0
  13. cs[u3]-=d0
  14. end
  15. }
  16. }
  17. p cs
  18.  
Success #stdin #stdout 0.01s 8096KB
stdin
6 4
22 15 32 36 16 30 42 30 39 23 17 18
stdout
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]