結果
| 問題 | No.40 多項式の割り算 | 
| コンテスト | |
| ユーザー |  はむ吉🐹 | 
| 提出日時 | 2015-10-29 23:10:14 | 
| 言語 | Haskell (9.10.1) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 23 ms / 5,000 ms | 
| コード長 | 512 bytes | 
| コンパイル時間 | 2,047 ms | 
| コンパイル使用メモリ | 172,416 KB | 
| 実行使用メモリ | 9,856 KB | 
| 最終ジャッジ日時 | 2024-09-13 04:41:54 | 
| 合計ジャッジ時間 | 3,122 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 32 | 
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
import Control.Applicative ((<$>))
getRemainder :: [Int] -> [Int]
getRemainder cs@(b0 : _) = if bs == [] then [0] else bs
    where
        fp1 = sum cs
        fm1 = sum $ zipWith (*) cs $ cycle [1, -1]
        b2 = subtract b0 $ flip div 2 $ fp1 + fm1
        b1 = flip div 2 $ fp1 - fm1
        bs = reverse $ dropWhile (== 0) [b2, b1, b0]
main :: IO ()
main = do
    _ <- getLine
    bs <- getRemainder . map read . words <$> getLine
    print $ subtract 1 $ length bs
    putStrLn $ unwords $ map show bs
            
            
            
        