Submission #261468


Source Code Expand

def solve(count)
  flags = Array.new(25,0)
  times = []
  count.times do |i|
    times << gets.split('-').map(&:to_i)
    times[i][0] -= times[i][0] % 5
    times[i][1] += (5 - times[i][1]) % 5
  end

  times.uniq.each do |time|
    shift = ((time[0] % 100) / 5) * 2
    index = time[0] / 100
    while time[0] < time[1] do
      flags[index] |= 1 << shift
      time[0] += 5
      if time[0] % 100 == 60 then
        time[0] += 40
        index = time[0] / 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 1106 Byte
Status AC
Exec Time 1480 ms
Memory 7784 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 62 ms 4288 KB
00_sample_02.txt AC 60 ms 4200 KB
00_sample_03.txt AC 62 ms 4200 KB
cho_cho_chokudai.txt AC 241 ms 6212 KB
chokudai_ga_cho.txt AC 1480 ms 7784 KB
test_01.txt AC 62 ms 4292 KB
test_02.txt AC 63 ms 4312 KB
test_03.txt AC 61 ms 4200 KB
test_04.txt AC 60 ms 4196 KB
test_05.txt AC 61 ms 4200 KB
test_06.txt AC 81 ms 4324 KB
test_07.txt AC 67 ms 4200 KB
test_08.txt AC 70 ms 4200 KB
test_09.txt AC 68 ms 4324 KB
test_10.txt AC 67 ms 4296 KB
test_11.txt AC 61 ms 4200 KB
test_12.txt AC 82 ms 4200 KB
test_13.txt AC 62 ms 4196 KB
test_14.txt AC 89 ms 4324 KB
test_15.txt AC 93 ms 4328 KB
test_16.txt AC 65 ms 4200 KB
test_17.txt AC 74 ms 4324 KB
test_18.txt AC 65 ms 4312 KB
test_19.txt AC 74 ms 4324 KB
test_20.txt AC 67 ms 4296 KB
test_21.txt AC 368 ms 6884 KB
test_22.txt AC 852 ms 7272 KB
test_23.txt AC 440 ms 7016 KB
test_24.txt AC 805 ms 7268 KB
test_25.txt AC 581 ms 7244 KB
test_26.txt AC 243 ms 6240 KB
test_27.txt AC 243 ms 6248 KB
test_28.txt AC 249 ms 6244 KB
test_29.txt AC 60 ms 4200 KB
test_30.txt AC 59 ms 4316 KB
test_31.txt AC 87 ms 4456 KB
test_32.txt AC 60 ms 4196 KB
test_33.txt AC 178 ms 5348 KB
test_34.txt AC 63 ms 4184 KB
test_35.txt AC 62 ms 4200 KB
test_36.txt AC 1010 ms 7372 KB
test_37.txt AC 241 ms 6248 KB
test_38.txt AC 245 ms 6248 KB
test_39.txt AC 260 ms 6360 KB
test_40.txt AC 268 ms 6376 KB
test_41.txt AC 288 ms 6172 KB
test_42.txt AC 257 ms 6244 KB
test_43.txt AC 298 ms 6248 KB