Submission #109089


Source Code Expand

import Control.Monad
import Data.List

trans :: Int -> Int
trans x = (x`div`100)*60+x`mod`100

parse :: String -> (Int, Int)
parse str = (trans(read(take 4 str))`div`5*5, (trans(read(drop 5 str))+4)`div`5*5)

split :: [String] -> [(Int, Int)]
split (x:[]) = [parse x]
split (x:xs) = [parse x] ++ (split xs)

cover :: (Int, Int) -> (Int, Int) -> Bool
cover (a, b) (c, d) = c <= b

merge :: [(Int, Int)] -> [(Int, Int)]
merge (x:[]) = [x]
merge (x:y:[]) = if cover x y
					then [(fst x, max (snd x) (snd y))]
					else [x, y]
merge (x:y:xs) = if cover x y
					then merge ([(fst x, max (snd x) (snd y))] ++ xs)
					else [x] ++ (merge ([y]++xs))

revtrans :: Int -> String
revtrans x = drop 1 (show (10000+x`div`60*100+x`mod`60))

revtranstuple :: (Int, Int) -> String
revtranstuple (a, b) = (revtrans a) ++ "-" ++ (revtrans b)

changeforout :: [(Int, Int)] -> String
changeforout (x:[]) = revtranstuple x
changeforout (x:xs) = revtranstuple x ++ "\n" ++ (changeforout xs)

main = do
    n <- getLine
    dat <- replicateM (read n) getLine
    let sorted = merge (sort (split dat))
    putStrLn (changeforout sorted)

Submission Info

Submission Time
Task D - 感雨時刻の整理
User yuusti
Language Haskell (GHC 7.4.1)
Score 100
Code Size 1156 Byte
Status AC
Exec Time 685 ms
Memory 29908 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 40 ms 1324 KB
00_sample_02.txt AC 24 ms 1320 KB
00_sample_03.txt AC 27 ms 1424 KB
cho_cho_chokudai.txt AC 470 ms 19620 KB
chokudai_ga_cho.txt AC 485 ms 19616 KB
test_01.txt AC 27 ms 1828 KB
test_02.txt AC 28 ms 1828 KB
test_03.txt AC 28 ms 1828 KB
test_04.txt AC 28 ms 1836 KB
test_05.txt AC 28 ms 1836 KB
test_06.txt AC 28 ms 1952 KB
test_07.txt AC 28 ms 1828 KB
test_08.txt AC 27 ms 1948 KB
test_09.txt AC 35 ms 2340 KB
test_10.txt AC 36 ms 2344 KB
test_11.txt AC 35 ms 2376 KB
test_12.txt AC 34 ms 2092 KB
test_13.txt AC 31 ms 1948 KB
test_14.txt AC 36 ms 2328 KB
test_15.txt AC 37 ms 2464 KB
test_16.txt AC 28 ms 1964 KB
test_17.txt AC 34 ms 2344 KB
test_18.txt AC 29 ms 1960 KB
test_19.txt AC 31 ms 2220 KB
test_20.txt AC 34 ms 2216 KB
test_21.txt AC 650 ms 29868 KB
test_22.txt AC 676 ms 29908 KB
test_23.txt AC 647 ms 29860 KB
test_24.txt AC 665 ms 29860 KB
test_25.txt AC 653 ms 29864 KB
test_26.txt AC 650 ms 29868 KB
test_27.txt AC 543 ms 21672 KB
test_28.txt AC 660 ms 29872 KB
test_29.txt AC 26 ms 1320 KB
test_30.txt AC 26 ms 1828 KB
test_31.txt AC 109 ms 6288 KB
test_32.txt AC 26 ms 1832 KB
test_33.txt AC 428 ms 20652 KB
test_34.txt AC 25 ms 1428 KB
test_35.txt AC 30 ms 1956 KB
test_36.txt AC 659 ms 29860 KB
test_37.txt AC 662 ms 29868 KB
test_38.txt AC 661 ms 29868 KB
test_39.txt AC 643 ms 29856 KB
test_40.txt AC 646 ms 29860 KB
test_41.txt AC 456 ms 19620 KB
test_42.txt AC 685 ms 29860 KB
test_43.txt AC 487 ms 19620 KB