結果

問題 No.16 累乗の加算
コンテスト
ユーザー ducktail
提出日時 2018-06-10 12:43:23
言語 Haskell
(9.14.1 + ACL)
コンパイル:
ghc -rtsopts -with-rtsopts=-K1G -o a.out -O2 _filename_
実行:
./a.out
結果
WJ  
(最新)
AC  
(最初)
実行時間 -
コード長 445 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
最終ジャッジ日時 2026-08-02 11:38:50
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)

ソースコード

diff #
raw source code

import Control.Applicative ((<$>), (<*>))

main :: IO ()
main = solve <$> f <*> f  >>= print
  where f = map read <$> words <$> getLine

solve :: [Int] -> [Int] -> Int
solve [x, _] = flip mod m . sum . map (expt x)
  where m = 1000003

expt :: Int -> Int -> Int
expt x a | a == 0 = 1
         | a == 1 = x
         | even a = he * he `mod` m
         | otherwise = he * he `mod` m * x `mod` m
  where he = expt x (a `div` 2)
        m = 1000003
0