結果
| 問題 |
No.16 累乗の加算
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-02-12 19:32:13 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 97 ms / 5,000 ms |
| コード長 | 440 bytes |
| コンパイル時間 | 41 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 20,224 KB |
| 最終ジャッジ日時 | 2024-06-26 05:19:47 |
| 合計ジャッジ時間 | 2,037 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 |
コンパイルメッセージ
Syntax OK
ソースコード
x, N = gets.chomp.split.map(&:to_i)
@devider = 1000003
list = gets.chomp.split.map{ |i| i.to_i % (@devider - 1) }
dp = Array.new(@devider, -1)
x %= @devider
def my_pow(n, idx)
res = 1
if idx > 0
res = my_pow(n*n % @devider, idx/2)
res = res * n % @devider if idx & 1 == 1
end
return res % @devider
end
result = 0
list.each do |l|
if dp[l] == -1
dp[l] = my_pow(x, l)
end
result += dp[l]
end
p result % @devider