AtCoder Beginner Contest 001

Submission #276893

Source codeソースコード

readSE 0 = return []
readSE n = do
  line <- getLine
  let s = read $ take 4 line :: Int
  let e = read $ drop 5 line :: Int
  t <- readSE (n - 1)
  return ((s, e) : t)

getStart s = s - s `mod` 5

getEnd e = let r = e `mod` 5 in
  if r == 0
  then e
  else let t = e + 5 - r in
    if t `mod` 100 == 60
    then t + 40
    else t

mergeSlot (s1, e1) (s2, e2) =
  if s1 <= s2 then
    if e1 >= e2 then (s1, e1) else (s1, e2)
  else
    if e1 >= e2 then (s2, e1) else (s2, e2)

insertSlot x [] = [x]
insertSlot x (y : ys) =
  if fst x > snd y
  then y : insertSlot x ys
  else if snd x < fst y
       then x : y : ys
       else insertSlot (mergeSlot x y) ys

sprint4 n =
  if n >= 1000 then show n
  else if n >= 100 then "0" ++ show n
       else if n >= 10 then "00" ++ show n
            else "000" ++ show n

print' [] = return ()
print' (x : xs) = do
  putStrLn $ sprint4 (fst x) ++ "-" ++ sprint4 (snd x)
  print' xs

main = do
  n <- getLine
  se <- readSE (read n :: Int)
  print' $ foldr (\p acc -> insertSlot
                            (getStart $ fst p, getEnd $ snd p)
                            acc) [] se

Submission

Task問題 D - 感雨時刻の整理
User nameユーザ名 soimort
Created time投稿日時
Language言語 Haskell (GHC 7.4.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 1172 Byte
File nameファイル名
Exec time実行時間 673 ms
Memory usageメモリ使用量 28564 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 30 ms 1124 KB
00_sample_02.txt AC 26 ms 1056 KB
00_sample_03.txt AC 26 ms 1172 KB
cho_cho_chokudai.txt AC 509 ms 22412 KB
chokudai_ga_cho.txt AC 512 ms 22416 KB
test_01.txt AC 29 ms 1560 KB
test_02.txt AC 27 ms 1684 KB
test_03.txt AC 29 ms 1684 KB
test_04.txt AC 28 ms 1692 KB
test_05.txt AC 30 ms 1692 KB
test_06.txt AC 30 ms 1720 KB
test_07.txt AC 30 ms 1696 KB
test_08.txt AC 29 ms 1552 KB
test_09.txt AC 36 ms 1936 KB
test_10.txt AC 36 ms 1940 KB
test_11.txt AC 34 ms 1820 KB
test_12.txt AC 31 ms 1808 KB
test_13.txt AC 30 ms 1676 KB
test_14.txt AC 34 ms 1820 KB
test_15.txt AC 36 ms 1928 KB
test_16.txt AC 29 ms 1680 KB
test_17.txt AC 33 ms 1804 KB
test_18.txt AC 29 ms 1708 KB
test_19.txt AC 33 ms 1804 KB
test_20.txt AC 32 ms 1808 KB
test_21.txt AC 504 ms 22428 KB
test_22.txt AC 513 ms 22416 KB
test_23.txt AC 511 ms 22412 KB
test_24.txt AC 508 ms 22408 KB
test_25.txt AC 508 ms 22488 KB
test_26.txt AC 511 ms 22420 KB
test_27.txt AC 511 ms 22432 KB
test_28.txt AC 581 ms 25824 KB
test_29.txt AC 26 ms 1056 KB
test_30.txt AC 28 ms 1556 KB
test_31.txt AC 110 ms 6036 KB
test_32.txt AC 26 ms 1560 KB
test_33.txt AC 404 ms 17392 KB
test_34.txt AC 27 ms 1048 KB
test_35.txt AC 30 ms 1684 KB
test_36.txt AC 510 ms 22412 KB
test_37.txt AC 673 ms 28564 KB
test_38.txt AC 518 ms 22416 KB
test_39.txt AC 527 ms 22424 KB
test_40.txt AC 532 ms 22416 KB
test_41.txt AC 517 ms 22416 KB
test_42.txt AC 507 ms 22452 KB
test_43.txt AC 510 ms 22412 KB