Submission #2939596


Source Code Expand

object Main {
  val INTERVAL = 5
  def main(args: Array[String]) {
    var rained_time_range:Array[Int] = Array.fill(24*(60/INTERVAL) + 1)(0) //00:00 - 24:00 を5分刻みで記憶

    for(line <- io.Source.stdin.getLines() if line.contains("-")) {
      val rained_times = line.split('-')
      val from_time = calcRainedTimeRange(rained_times(0).toInt)
      val to_time   = calcRainedTimeRange(rained_times(1).toInt + INTERVAL - 1)

      rained_time_range(from_time) += 1
      rained_time_range(to_time)   -= 1
    }

    printRainedTime(rained_time_range)
  }

  def printRainedTime(rained_time_range: Array[Int]): Unit = {
    var rained_time:Array[Int] = Array.fill(24*(60/INTERVAL) + 1)(0)
    rained_time(0) = rained_time_range(0)
    for(i <- 1 to 24*(60/INTERVAL))
    {
      rained_time(i) = rained_time_range(i) + rained_time(i - 1)
    }

    var rained_from_time = -1
    for(i <- 0 to 24*(60/INTERVAL)) {
      if(rained_time(i) > 0 ) {
        if(rained_from_time == -1)
          rained_from_time = i
      }
      else if(rained_time(i) == 0) {
        if(rained_from_time != -1) {
          println(rangeToTime(rained_from_time) + "-" + rangeToTime(i))
          rained_from_time = -1
        }
      }
    }
  }

  def calcRainedTimeRange(time: Int): Int = {
    val hour = time/100 + (time%100)/60
    val min  = (time%100)%60

    return hour*60/INTERVAL + min/INTERVAL
  }

  def rangeToTime(time_range: Int): String = {
    val hour = (time_range*INTERVAL)/60
    val min  = (time_range*INTERVAL)%60

    return changeTimeFormat(hour, min)
  }

  def changeTimeFormat(hour: Int, min: Int): String = {
    var hour_str = ""
    var min_str  = ""

    if(hour < 10) hour_str = "0" + hour.toString
    else          hour_str = hour.toString

    if(min < 10)  min_str = "0" + min.toString
    else          min_str = min.toString

    return (hour_str + min_str)
  }
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User kuropikumin
Language Scala (2.11.7)
Score 100
Code Size 1959 Byte
Status AC
Exec Time 585 ms
Memory 40516 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 322 ms 27176 KB
00_sample_02.txt AC 322 ms 25276 KB
00_sample_03.txt AC 326 ms 25524 KB
cho_cho_chokudai.txt AC 581 ms 37864 KB
chokudai_ga_cho.txt AC 577 ms 39520 KB
test_01.txt AC 335 ms 25156 KB
test_02.txt AC 337 ms 25256 KB
test_03.txt AC 339 ms 25564 KB
test_04.txt AC 335 ms 25252 KB
test_05.txt AC 335 ms 25164 KB
test_06.txt AC 333 ms 25272 KB
test_07.txt AC 326 ms 25380 KB
test_08.txt AC 324 ms 25256 KB
test_09.txt AC 342 ms 25516 KB
test_10.txt AC 340 ms 25412 KB
test_11.txt AC 338 ms 25408 KB
test_12.txt AC 333 ms 25296 KB
test_13.txt AC 329 ms 25412 KB
test_14.txt AC 339 ms 25280 KB
test_15.txt AC 340 ms 25412 KB
test_16.txt AC 329 ms 25412 KB
test_17.txt AC 341 ms 25268 KB
test_18.txt AC 331 ms 25512 KB
test_19.txt AC 336 ms 25240 KB
test_20.txt AC 343 ms 25660 KB
test_21.txt AC 581 ms 39916 KB
test_22.txt AC 576 ms 39872 KB
test_23.txt AC 577 ms 39884 KB
test_24.txt AC 585 ms 40080 KB
test_25.txt AC 581 ms 40008 KB
test_26.txt AC 582 ms 40348 KB
test_27.txt AC 581 ms 39368 KB
test_28.txt AC 579 ms 40192 KB
test_29.txt AC 321 ms 25152 KB
test_30.txt AC 327 ms 25544 KB
test_31.txt AC 443 ms 27260 KB
test_32.txt AC 329 ms 25284 KB
test_33.txt AC 547 ms 38884 KB
test_34.txt AC 319 ms 27208 KB
test_35.txt AC 332 ms 27464 KB
test_36.txt AC 581 ms 39976 KB
test_37.txt AC 579 ms 40164 KB
test_38.txt AC 572 ms 40368 KB
test_39.txt AC 581 ms 37736 KB
test_40.txt AC 569 ms 40096 KB
test_41.txt AC 582 ms 40516 KB
test_42.txt AC 581 ms 40248 KB
test_43.txt AC 573 ms 39884 KB