AtCoder Beginner Contest 001

Submission #288521

Source codeソースコード

import Control.Applicative
import Data.Set
import Text.Printf


type Period = (Int, Int)


main :: IO ()
main = do
    num <- read <$> getLine
    ps <- (reverse . (foldl' mergeEntries []) . fromList) <$> ((sequence . replicate num) $ readPeriod <$> getLine)
    mapM_ putStrLn (Prelude.map showPeriod ps)


readPeriod :: String -> Period
readPeriod s = ((floorForTime . read . take 4) s, (ceilingForTime . read . drop 5) s)


showPeriod :: Period -> String
showPeriod (st, en) = printf "%04d-%04d" st en


floorForTime :: Int -> Int
floorForTime x = (x `div` 5) * 5


ceilingForTime :: Int -> Int
ceilingForTime x = x' + dh
  where
    x' = ((x + 4) `div` 5) * 5
    dh = case (x' `mod` 100) of
        60        -> 40
        otherwise -> 0


mergeEntries :: [Period] -> Period -> [Period]
mergeEntries [] p     = [p]
mergeEntries all@(hp@(hst, hen) : ps) p@(pst, pen)
  | pst > hen = p : all
  | otherwise = (min hst pst, max hen pen) : ps

Submission

Task問題 D - 感雨時刻の整理
User nameユーザ名 ふじやん
Created time投稿日時
Language言語 Haskell (GHC 7.4.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 984 Byte
File nameファイル名
Exec time実行時間 632 ms
Memory usageメモリ使用量 26804 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 34 ms 1488 KB
00_sample_02.txt AC 30 ms 1452 KB
00_sample_03.txt AC 31 ms 1600 KB
cho_cho_chokudai.txt AC 498 ms 21808 KB
chokudai_ga_cho.txt AC 541 ms 23168 KB
test_01.txt AC 36 ms 2092 KB
test_02.txt AC 37 ms 2108 KB
test_03.txt AC 34 ms 1924 KB
test_04.txt AC 33 ms 1928 KB
test_05.txt AC 33 ms 2100 KB
test_06.txt AC 36 ms 2052 KB
test_07.txt AC 41 ms 2032 KB
test_08.txt AC 34 ms 1988 KB
test_09.txt AC 39 ms 2352 KB
test_10.txt AC 41 ms 2308 KB
test_11.txt AC 38 ms 2176 KB
test_12.txt AC 37 ms 2180 KB
test_13.txt AC 36 ms 2100 KB
test_14.txt AC 40 ms 2304 KB
test_15.txt AC 43 ms 2372 KB
test_16.txt AC 35 ms 2048 KB
test_17.txt AC 40 ms 2356 KB
test_18.txt AC 35 ms 2056 KB
test_19.txt AC 37 ms 2224 KB
test_20.txt AC 39 ms 2356 KB
test_21.txt AC 602 ms 25600 KB
test_22.txt AC 632 ms 26416 KB
test_23.txt AC 619 ms 26096 KB
test_24.txt AC 604 ms 26244 KB
test_25.txt AC 611 ms 26296 KB
test_26.txt AC 527 ms 21884 KB
test_27.txt AC 504 ms 21756 KB
test_28.txt AC 542 ms 22068 KB
test_29.txt AC 32 ms 1456 KB
test_30.txt AC 31 ms 1848 KB
test_31.txt AC 107 ms 5380 KB
test_32.txt AC 30 ms 1928 KB
test_33.txt AC 359 ms 15736 KB
test_34.txt AC 31 ms 1440 KB
test_35.txt AC 34 ms 2100 KB
test_36.txt AC 616 ms 26804 KB
test_37.txt AC 527 ms 21764 KB
test_38.txt AC 547 ms 21812 KB
test_39.txt AC 557 ms 22832 KB
test_40.txt AC 553 ms 22528 KB
test_41.txt AC 513 ms 21764 KB
test_42.txt AC 520 ms 21764 KB
test_43.txt AC 518 ms 21820 KB