Submission #261430


Source Code Expand

def solve(count)
  flags = Array.new(25,0)
  times = []
  count.times do
    times << gets
  end

  times.uniq.each do |time|
    raining = time.split('-')
    rainStart = raining[0].to_i
    rainEnd = raining[1].to_i
    rainStart -= rainStart % 5
    rainEnd += (5 - rainEnd) % 5

    shift = ((rainStart % 100) / 5) * 2
    index = rainStart / 100
    while rainStart < rainEnd do
      flags[index] |= 1 << shift
      rainStart += 5
      if rainStart % 100 == 60 then
        rainStart += 40
        index = rainStart / 100
      end
      shift = (shift + 2) % 24
    end
    flags[index] |= 2 << shift
  end

  isRaining = false
  for i in 0..24
    shift = 0
    while shift < 24 do
      flag = flags[i] >> shift & 0x03
      minute = shift / 2 * 5
      if flag & 0x01 == 1 then
        beginRain = i * 100 + minute if not isRaining
        isRaining = true
      elsif flag == 0x02 then
        endRain = i * 100 + minute
        isRaining = false
        printf "%04d-%04d\n",beginRain,endRain
      end
      shift += 2
    end
  end
end

begin
  str = gets
  exit if str == nil
  solve(str.to_i)
end while true

Submission Info

Submission Time
Task D - 感雨時刻の整理
User trmc
Language Ruby (1.9.3)
Score 100
Code Size 1178 Byte
Status AC
Exec Time 1236 ms
Memory 8932 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 48
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, cho_cho_chokudai.txt, chokudai_ga_cho.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 63 ms 4196 KB
00_sample_02.txt AC 61 ms 4196 KB
00_sample_03.txt AC 58 ms 4312 KB
cho_cho_chokudai.txt AC 92 ms 6244 KB
chokudai_ga_cho.txt AC 1236 ms 8916 KB
test_01.txt AC 60 ms 4296 KB
test_02.txt AC 64 ms 4300 KB
test_03.txt AC 62 ms 4200 KB
test_04.txt AC 61 ms 4296 KB
test_05.txt AC 65 ms 4200 KB
test_06.txt AC 74 ms 4196 KB
test_07.txt AC 69 ms 4308 KB
test_08.txt AC 66 ms 4300 KB
test_09.txt AC 62 ms 4200 KB
test_10.txt AC 63 ms 4200 KB
test_11.txt AC 62 ms 4200 KB
test_12.txt AC 84 ms 4324 KB
test_13.txt AC 64 ms 4200 KB
test_14.txt AC 83 ms 4328 KB
test_15.txt AC 88 ms 4324 KB
test_16.txt AC 64 ms 4196 KB
test_17.txt AC 68 ms 4320 KB
test_18.txt AC 64 ms 4324 KB
test_19.txt AC 69 ms 4296 KB
test_20.txt AC 65 ms 4328 KB
test_21.txt AC 309 ms 8932 KB
test_22.txt AC 695 ms 8920 KB
test_23.txt AC 368 ms 8808 KB
test_24.txt AC 662 ms 8808 KB
test_25.txt AC 492 ms 8928 KB
test_26.txt AC 92 ms 6248 KB
test_27.txt AC 91 ms 6196 KB
test_28.txt AC 129 ms 6620 KB
test_29.txt AC 62 ms 4200 KB
test_30.txt AC 63 ms 4196 KB
test_31.txt AC 71 ms 4584 KB
test_32.txt AC 59 ms 4196 KB
test_33.txt AC 84 ms 5224 KB
test_34.txt AC 63 ms 4284 KB
test_35.txt AC 62 ms 4196 KB
test_36.txt AC 920 ms 8908 KB
test_37.txt AC 99 ms 6248 KB
test_38.txt AC 96 ms 6244 KB
test_39.txt AC 174 ms 6884 KB
test_40.txt AC 161 ms 6732 KB
test_41.txt AC 102 ms 6216 KB
test_42.txt AC 99 ms 6256 KB
test_43.txt AC 99 ms 6216 KB