結果

問題 No.3157 Nabeatsu
ユーザー tomcat1233
提出日時 2025-05-24 12:22:50
言語 Haskell
(9.10.1)
結果
AC  
実行時間 1,215 ms / 2,000 ms
コード長 1,004 bytes
コンパイル時間 1,574 ms
コンパイル使用メモリ 182,656 KB
実行使用メモリ 86,064 KB
最終ジャッジ日時 2025-05-24 12:23:10
合計ジャッジ時間 16,882 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 45
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.10.1/environments/default
[1 of 2] Compiling Main             ( Main.hs, Main.o )
[2 of 2] Linking a.out

ソースコード

diff #

{-# OPTIONS_GHC -Wno-unused-imports -Wno-unused-top-binds #-}
import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Control.Monad.ST             
import Data.Ix
import Data.Array (Array)
import Data.Array.IArray
import Data.Array.IO             
import Data.Array.MArray          
import Data.Array.ST                
import Data.Array.Unboxed (UArray)
import Data.Char
import Data.List as L
import Data.Foldable
import Data.Function
import Control.Exception
import Data.Array.Base (STUArray(STUArray), UArray (UArray))
import Data.Array.IO.Internals (IOUArray(IOUArray))
import Data.Ord
import GHC.Float

solve n
  | '3' `elem` n = solve n' 
  | mod r 3 == 0 = solve $ show $ r - 1
  | otherwise = r 
  where
    r :: Integer = read n
    n1 = takeWhile (/= '3') n
    l2 = subtract 1 $ length $ dropWhile (/= '3') n
    n2 = replicate l2 '9'
    n' = n1 ++ ['2'] ++ n2
    
main :: IO ()
main = do
  n <- getLine
  let
    l = length n
    ans = solve n
  print ans
0