Submission #1073873
Source Code Expand
module Main where import Control.Applicative import Control.Monad import Control.Monad.State import Data.Int import qualified Data.ByteString.Lazy.Char8 as L type Tokenizer = State [L.ByteString] nextInt :: Tokenizer Int nextInt = state $ \(s:ss) -> case L.readInt s of Just (x, _) -> (x, ss) Nothing -> error $ "Can't parse Int from: " ++ (L.unpack s) solve :: [(Int64, Int64)] -> Int64 solve abs = foldr update 0 abs where update (a, b) steps | a' == 0 = steps | otherwise = steps + b - a' where a' = (a + steps) `mod` b go :: Tokenizer Int64 go = do n <- nextInt abs <- replicateM n $ do a <- nextInt b <- nextInt return (fromIntegral a, fromIntegral b) return $ solve abs main :: IO () main = do contents <- L.words <$> L.getContents let result = evalState go contents print result
Submission Info
Submission Time | |
---|---|
Task | A - Multiple Array |
User | ygorshenin |
Language | Haskell (GHC 7.10.3) |
Score | 300 |
Code Size | 982 Byte |
Status | AC |
Exec Time | 50 ms |
Memory | 4092 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 49 ms | 3964 KB |
02.txt | AC | 49 ms | 3964 KB |
03.txt | AC | 49 ms | 3964 KB |
04.txt | AC | 49 ms | 3964 KB |
05.txt | AC | 49 ms | 3964 KB |
06.txt | AC | 49 ms | 3964 KB |
07.txt | AC | 43 ms | 3836 KB |
08.txt | AC | 49 ms | 4092 KB |
09.txt | AC | 43 ms | 3836 KB |
10.txt | AC | 50 ms | 4092 KB |
11.txt | AC | 44 ms | 3836 KB |
12.txt | AC | 40 ms | 3580 KB |
13.txt | AC | 44 ms | 3836 KB |
14.txt | AC | 49 ms | 3964 KB |
15.txt | AC | 3 ms | 380 KB |
16.txt | AC | 3 ms | 380 KB |
s1.txt | AC | 3 ms | 380 KB |
s2.txt | AC | 3 ms | 380 KB |