結果

問題 No.2707 Bag of Words Encryption
コンテスト
ユーザー tanson
提出日時 2026-04-02 09:01:42
言語 Standard ML
(MLton 20241230)
コンパイル:
mlton_wrapper _filename_
実行:
./main
結果
AC  
実行時間 9 ms / 2,000 ms
コード長 1,028 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 5,377 ms
コンパイル使用メモリ 706,188 KB
実行使用メモリ 11,448 KB
最終ジャッジ日時 2026-04-03 10:39:44
合計ジャッジ時間 6,352 ms
ジャッジサーバーID
(参考情報)
judge5_1 / judge3_0
純コード判定待ち
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 15
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun readInt () =
    valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn)


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 makeBag s =
    let
        val bag = Array.array (26, 0)
    in
        (
          List.app (fn ch =>
                        let
                            val index = Char.ord ch - Char.ord #"A"
                            val newVal = Array.sub (bag, index) + 1
                        in
                            Array.update (bag, index, newVal)
                        end)
                    (String.explode s);
          bag
        )
    end
        

val () =
    let
        val n = readInt ()
        val s = readStr ()

        val bag = makeBag s
    in
        (
          Array.app (fn v =>
                        print (Int.toString v))
                    bag;
          print "\n"
        )
    end
0