提出 #36244905


ソースコード 拡げる

import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.List

readInt = fst . fromJust . BS.readInt
readIntList = map readInt . BS.words
getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine

main = do
    n <- getInt
    as <- getIntList
    let bs = map g as
        min2 = minimum $ map t2 bs
        min3 = minimum $ map t3 bs
        ans | (/= 1) . length . group $ map t1 bs = -1
            | otherwise = sum $ map (\(_, x, y) -> x - min2 + y - min3) bs
    print ans

f k a | a `mod` k /= 0 = 0
      | otherwise = 1 + f k (a `div` k) 

g a = (b, b2, b3)
    where b2 = f 2 a
          b3 = f 3 a
          b = a `div` (max 1 (2 ^ b2)) `div` (max 1 (3 ^ b3))

t1 (x, _, _) = x
t2 (_, y, _) = y
t3 (_, _, z) = z

提出情報

提出日時
問題 D - Divide by 2 or 3
ユーザ pel
言語 Haskell (GHC 8.8.3)
得点 400
コード長 806 Byte
結果 AC
実行時間 9 ms
メモリ 4924 KiB

コンパイルエラー

Loaded package environment from /home/contestant/.ghc/x86_64-linux-8.8.3/environments/default

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 41
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd0_00.txt, 01_srnd0_01.txt, 01_srnd0_02.txt, 02_srnd1_00.txt, 02_srnd1_01.txt, 02_srnd1_02.txt, 02_srnd1_03.txt, 02_srnd1_04.txt, 02_srnd1_05.txt, 02_srnd1_06.txt, 02_srnd1_07.txt, 02_srnd1_08.txt, 02_srnd1_09.txt, 03_rnd0_00.txt, 03_rnd0_01.txt, 03_rnd0_02.txt, 04_rnd1_00.txt, 04_rnd1_01.txt, 04_rnd1_02.txt, 04_rnd1_03.txt, 04_rnd1_04.txt, 04_rnd1_05.txt, 04_rnd1_06.txt, 04_rnd1_07.txt, 04_rnd1_08.txt, 04_rnd1_09.txt, 05_same_00.txt, 05_same_01.txt, 05_same_02.txt, 05_same_03.txt, 05_same_04.txt, 05_same_05.txt, 06_max_00.txt, 06_max_01.txt, 07_ng_00.txt, 07_ng_01.txt, 07_ng_02.txt, 07_ng_03.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 6 ms 3504 KiB
00_sample_01.txt AC 2 ms 3716 KiB
00_sample_02.txt AC 3 ms 3504 KiB
01_srnd0_00.txt AC 2 ms 3532 KiB
01_srnd0_01.txt AC 3 ms 3648 KiB
01_srnd0_02.txt AC 2 ms 3652 KiB
02_srnd1_00.txt AC 2 ms 3688 KiB
02_srnd1_01.txt AC 3 ms 3584 KiB
02_srnd1_02.txt AC 2 ms 3712 KiB
02_srnd1_03.txt AC 2 ms 3656 KiB
02_srnd1_04.txt AC 2 ms 3704 KiB
02_srnd1_05.txt AC 2 ms 3728 KiB
02_srnd1_06.txt AC 2 ms 3572 KiB
02_srnd1_07.txt AC 2 ms 3576 KiB
02_srnd1_08.txt AC 2 ms 3708 KiB
02_srnd1_09.txt AC 3 ms 3508 KiB
03_rnd0_00.txt AC 5 ms 4556 KiB
03_rnd0_01.txt AC 5 ms 4504 KiB
03_rnd0_02.txt AC 2 ms 4556 KiB
04_rnd1_00.txt AC 5 ms 4924 KiB
04_rnd1_01.txt AC 5 ms 4920 KiB
04_rnd1_02.txt AC 5 ms 4656 KiB
04_rnd1_03.txt AC 4 ms 4820 KiB
04_rnd1_04.txt AC 6 ms 4660 KiB
04_rnd1_05.txt AC 6 ms 4872 KiB
04_rnd1_06.txt AC 5 ms 4672 KiB
04_rnd1_07.txt AC 5 ms 4916 KiB
04_rnd1_08.txt AC 7 ms 4864 KiB
04_rnd1_09.txt AC 9 ms 4808 KiB
05_same_00.txt AC 4 ms 4440 KiB
05_same_01.txt AC 8 ms 4856 KiB
05_same_02.txt AC 9 ms 4832 KiB
05_same_03.txt AC 5 ms 4564 KiB
05_same_04.txt AC 7 ms 4844 KiB
05_same_05.txt AC 9 ms 4832 KiB
06_max_00.txt AC 8 ms 4832 KiB
06_max_01.txt AC 5 ms 4684 KiB
07_ng_00.txt AC 4 ms 4400 KiB
07_ng_01.txt AC 4 ms 4420 KiB
07_ng_02.txt AC 5 ms 4540 KiB
07_ng_03.txt AC 5 ms 4536 KiB