結果

問題 No.16 累乗の加算
ユーザー vjudge1
提出日時 2025-09-08 10:39:53
言語 Crystal
(1.14.0)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 419 bytes
コンパイル時間 13,652 ms
コンパイル使用メモリ 309,292 KB
実行使用メモリ 6,272 KB
最終ジャッジ日時 2025-09-08 10:40:08
合計ジャッジ時間 13,163 ms
ジャッジサーバーID
(参考情報)
judge / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 1000003

input = gets.not_nil!.split
xp0 = input[0].to_i64
n = input[1].to_i

xp = Array(Int64).new(30, 0)
xp[0] = xp0

# Precompute xp powers
(1...30).each do |i|
  xp[i] = (xp[i-1] * xp[i-1]) % MOD
end

ans = 0_i64
numbers = gets.not_nil!.split.map(&.to_i)
numbers.each do |a|
  r = 1_i64
  30.times do |j|
    if (a >> j) & 1 == 1
      r = (r * xp[j]) % MOD
    end
  end
  ans = (ans + r) % MOD
end

puts ans
0