summaryrefslogtreecommitdiff
path: root/dtrain/binning.rb
blob: 674f3246c14c5cc2216d5183ed7375208fc8da00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
bins = []
bin_sz = 0
1.upto(3).each { |i|
  bin_sz = STDIN.gets.strip.split(",")[1].to_i 
  bins.push [[i], bin_sz]
}

cur_bin = []
cur_bin_sz = 0
while line = STDIN.gets
  count, countcount = line.strip.split ","
  count = count.to_i
  countcount = countcount.to_i
  if (cur_bin_sz + countcount) > bin_sz 
    bins.push [cur_bin, cur_bin_sz]
    cur_bin = []
    cur_bin_sz = countcount
  else
    cur_bin.push count
    cur_bin_sz += countcount
  end
end
bins.push [cur_bin, cur_bin_sz]

c = 0
e = 0
bins.each { |i|
  puts "#{e} | #{i[0].size}: #{i[0][0]}.. #{i[1]}" if i[0].size > 0
  c += 1 if i[0].size > 0
  e += 1
}
puts "#{c} bins (#{bins.size})"
puts "bin sz #{bin_sz}"