Submission #162938


Source Code Expand

{-# LANGUAGE CPP #-}
#ifndef HDEVTOOLS
{-# OPTIONS_GHC -O2 -funbox-strict-fields #-}
#endif
{-# LANGUAGE BangPatterns, ViewPatterns, OverloadedStrings #-}

import Control.Applicative
import Control.Monad
import Data.Maybe
import Data.List
import qualified Data.ByteString.Char8 as S
import qualified Data.Vector.Unboxed as U
import Numeric
import Data.Char

main :: IO ()
main = do
  [a, succ -> b] <- map read . words <$> getLine
  print $ solve a b

solve :: Int -> Int -> Int
solve lo hi = (hi - lo) - (legalIndex hi - legalIndex lo)

legalIndex :: Int -> Int
legalIndex n = case readOct (map tr $ floorAvailable $ show (n-1)) of
  [(r, "")] -> fromIntegral r + 1
  _ -> error "parse error"
  where
    tr = ("0123X45678X"!!) . digitToInt

floorAvailable :: String -> String
floorAvailable [] = []
floorAvailable ('4':cs) = '3' : map (const '8') cs
floorAvailable ('9':cs) = '8' : map (const '8') cs
floorAvailable (c:cs) = c : floorAvailable cs

readInt :: S.ByteString -> Int
readInt s = case S.readInt s of
  Just (r, "") -> r
  _ -> error $ "not an integer: " ++ show s

Submission Info

Submission Time
Task D - 禁止された数字
User mkotha
Language Haskell (GHC 7.4.1)
Score 100
Code Size 1117 Byte
Status AC
Exec Time 62 ms
Memory 1436 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 16
AC × 39
Set Name Test Cases
Sample subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt
Subtask2 subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask0_sample04.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt
Case Name Status Exec Time Memory
subtask0_sample01.txt AC 62 ms 1316 KB
subtask0_sample02.txt AC 24 ms 1236 KB
subtask0_sample03.txt AC 27 ms 1304 KB
subtask0_sample04.txt AC 27 ms 1384 KB
subtask1_01.txt AC 27 ms 1308 KB
subtask1_02.txt AC 27 ms 1308 KB
subtask1_03.txt AC 27 ms 1308 KB
subtask1_04.txt AC 25 ms 1264 KB
subtask1_05.txt AC 24 ms 1240 KB
subtask1_06.txt AC 28 ms 1312 KB
subtask1_07.txt AC 26 ms 1236 KB
subtask1_08.txt AC 25 ms 1312 KB
subtask1_09.txt AC 29 ms 1304 KB
subtask1_10.txt AC 58 ms 1308 KB
subtask1_11.txt AC 27 ms 1436 KB
subtask1_12.txt AC 29 ms 1312 KB
subtask1_13.txt AC 26 ms 1240 KB
subtask2_01.txt AC 25 ms 1308 KB
subtask2_02.txt AC 27 ms 1308 KB
subtask2_03.txt AC 27 ms 1308 KB
subtask2_04.txt AC 26 ms 1308 KB
subtask2_05.txt AC 27 ms 1380 KB
subtask2_06.txt AC 25 ms 1312 KB
subtask2_07.txt AC 26 ms 1300 KB
subtask2_08.txt AC 30 ms 1308 KB
subtask2_09.txt AC 28 ms 1308 KB
subtask2_10.txt AC 25 ms 1308 KB
subtask2_11.txt AC 27 ms 1316 KB
subtask2_12.txt AC 38 ms 1312 KB
subtask2_13.txt AC 31 ms 1304 KB
subtask2_14.txt AC 29 ms 1304 KB
subtask2_15.txt AC 25 ms 1388 KB
subtask2_16.txt AC 28 ms 1304 KB
subtask2_17.txt AC 32 ms 1384 KB
subtask2_18.txt AC 34 ms 1308 KB
subtask2_19.txt AC 28 ms 1388 KB
subtask2_20.txt AC 28 ms 1432 KB
subtask2_21.txt AC 26 ms 1308 KB
subtask2_22.txt AC 26 ms 1312 KB