Submission #431220
Source Code Expand
import Control.Applicative import Data.List timeToMinute :: Int -> Int timeToMinute t = t `div` 100 * 60 + t `mod` 100 pairTimeToMinute :: (Int, Int) -> (Int, Int) pairTimeToMinute (x, y) = (timeToMinute x, timeToMinute y) minuteToTime :: Int -> Int minuteToTime t = t `div` 60 * 100 + t `mod` 60 pairMinuteToTime :: (Int, Int) -> (Int, Int) pairMinuteToTime (x, y) = (minuteToTime x, minuteToTime y) roundMinute :: (Int, Int) -> (Int, Int) roundMinute (start, end) = (roundStart, roundEnd) where roundStart | digit < 5 = start - digit | 5 <= digit = start + 5 - digit where digit = start `mod` 10 roundEnd | digit == 0 = end | digit < 5 = end + 5 - digit | digit == 5 = end | 5 < digit = end + 10 - digit where digit = end `mod` 10 unit :: [(Int, Int)] -> [(Int, Int)] unit ( x : []) = [x] unit ((start, end) : (nstart, nend) : times ) | end < nstart = (start, end) : unit ((nstart, nend): times) | end < nend = unit ( (start, nend) : times) | otherwise = unit ((start, end) : times) connect :: (Int, Int) -> String connect (start, end) = (fillZero $ show start) ++ "-" ++ (fillZero $ show end) fillZero :: String -> String fillZero time = replicate (4 - length time) '0' ++ time main :: IO () main = do n <- getLine times <- map (splitAt 4 ) . sort . lines <$> getContents let times' = [(read x::Int, read (drop 1 y)::Int) | (x, y) <- times] -- mapM_ (putStrLn . connect) $ map pairMinuteToTime $ map (roundMinute . pairTimeToMinute) times' mapM_ (putStrLn . connect) $ map pairMinuteToTime $ unit $ map (roundMinute . pairTimeToMinute) times'
Submission Info
Submission Time | |
---|---|
Task | D - 感雨時刻の整理 |
User | yokobutton |
Language | Haskell (GHC 7.4.1) |
Score | 100 |
Code Size | 1647 Byte |
Status | AC |
Exec Time | 789 ms |
Memory | 21684 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 31 ms | 1372 KB |
00_sample_02.txt | AC | 31 ms | 1316 KB |
00_sample_03.txt | AC | 29 ms | 1432 KB |
cho_cho_chokudai.txt | AC | 746 ms | 20636 KB |
chokudai_ga_cho.txt | AC | 588 ms | 16544 KB |
test_01.txt | AC | 33 ms | 1820 KB |
test_02.txt | AC | 33 ms | 1820 KB |
test_03.txt | AC | 35 ms | 1816 KB |
test_04.txt | AC | 31 ms | 1828 KB |
test_05.txt | AC | 32 ms | 1776 KB |
test_06.txt | AC | 33 ms | 1816 KB |
test_07.txt | AC | 33 ms | 1940 KB |
test_08.txt | AC | 30 ms | 1864 KB |
test_09.txt | AC | 43 ms | 2080 KB |
test_10.txt | AC | 46 ms | 2204 KB |
test_11.txt | AC | 38 ms | 2084 KB |
test_12.txt | AC | 38 ms | 1952 KB |
test_13.txt | AC | 31 ms | 1824 KB |
test_14.txt | AC | 40 ms | 2160 KB |
test_15.txt | AC | 42 ms | 2340 KB |
test_16.txt | AC | 31 ms | 1820 KB |
test_17.txt | AC | 42 ms | 2128 KB |
test_18.txt | AC | 37 ms | 1884 KB |
test_19.txt | AC | 41 ms | 1928 KB |
test_20.txt | AC | 41 ms | 2084 KB |
test_21.txt | AC | 779 ms | 21664 KB |
test_22.txt | AC | 786 ms | 21660 KB |
test_23.txt | AC | 781 ms | 21664 KB |
test_24.txt | AC | 775 ms | 21668 KB |
test_25.txt | AC | 771 ms | 21664 KB |
test_26.txt | AC | 764 ms | 21664 KB |
test_27.txt | AC | 717 ms | 20640 KB |
test_28.txt | AC | 785 ms | 21668 KB |
test_29.txt | AC | 30 ms | 1440 KB |
test_30.txt | AC | 31 ms | 1824 KB |
test_31.txt | AC | 130 ms | 4772 KB |
test_32.txt | AC | 29 ms | 1824 KB |
test_33.txt | AC | 505 ms | 14492 KB |
test_34.txt | AC | 30 ms | 1436 KB |
test_35.txt | AC | 36 ms | 1828 KB |
test_36.txt | AC | 778 ms | 21668 KB |
test_37.txt | AC | 778 ms | 21664 KB |
test_38.txt | AC | 768 ms | 21664 KB |
test_39.txt | AC | 783 ms | 21684 KB |
test_40.txt | AC | 789 ms | 21660 KB |
test_41.txt | AC | 599 ms | 16540 KB |
test_42.txt | AC | 773 ms | 21664 KB |
test_43.txt | AC | 613 ms | 16544 KB |