結果

問題 No.791 うし数列
コンテスト
ユーザー tanson
提出日時 2025-11-26 00:01:40
言語 Standard ML
(MLton 20210117)
結果
WA  
実行時間 -
コード長 976 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,809 ms
コンパイル使用メモリ 687,100 KB
実行使用メモリ 7,848 KB
最終ジャッジ日時 2025-11-26 00:01:47
合計ジャッジ時間 3,706 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 14 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun readStr () =
    let
        fun scan reader stream = SOME (StringCvt.splitl (not o Char.isSpace) reader (StringCvt.skipWS reader stream))
    in
        valOf (TextIO.scanStream scan TextIO.stdIn)
    end


fun intString n =
    if 0 <= n
    then Int.toString n
    else "-" ^ Int.toString (abs n)


fun findAns n =
    let
        val exploded = String.explode n
        val first = List.hd exploded
        val threes = List.tl exploded

        exception NotThree
        fun findAnsAux nil = 0
          | findAnsAux (#"3" :: tl) =
            1 + findAnsAux tl
          | findAnsAux (_ :: _) =
            raise NotThree
    in
        if first = #"1"
        then
            (
              (findAnsAux threes)
              handle NotThree => ~1
            )
        else
            (
              ~1
            )
    end


val () =
    let
        val n = readStr ()
        
        val ans = findAns n
    in
        print (intString ans ^ "\n")
    end
0