結果
問題 |
No.40 多項式の割り算
|
ユーザー |
|
提出日時 | 2025-09-05 02:39:09 |
言語 | Standard ML (MLton 20210117) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,281 bytes |
コンパイル時間 | 8,494 ms |
コンパイル使用メモリ | 686,584 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-09-05 02:39:19 |
合計ジャッジ時間 | 5,108 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 WA * 1 |
ソースコード
fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun intString n = if 0 <= n then Int.toString n else "-" ^ Int.toString (abs n) fun findAns a_s = let fun findAnsAux [] = [] | findAnsAux [_] = [] | findAnsAux [_, _] = [] | findAnsAux [a1, a2, a3] = [a1, a2, a3] | findAnsAux (a1 :: a2 :: a3 :: tl) = findAnsAux (a2 :: (a3 - (~a1)) :: tl) fun dropZero [] = [] | dropZero (h::tl) = if h = 0 then dropZero tl else (h::tl) val tempAns = findAnsAux (List.rev a_s) val ans = List.rev (dropZero tempAns) in ans end fun ansString [] = "" | ansString [e] = intString e | ansString (h::tl) = (intString h) ^ " " ^ ansString tl val () = let val d = readInt () val a_s = List.tabulate (d + 1, fn _ => readInt ()) val ans = findAns a_s in ( if ans = [] then ( print "0\n"; print "0\n" ) else ( print (Int.toString (List.length ans - 1) ^ "\n"); print (ansString ans ^ "\n") ) ) end