結果
| 問題 | No.3157 Nabeatsu | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 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
ソースコード
{-# 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
            
            
            
        