結果
| 問題 | 
                            No.1097 Remainder Operation
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-02-28 15:39:19 | 
| 言語 | Ruby  (3.4.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1,907 ms / 2,000 ms | 
| コード長 | 363 bytes | 
| コンパイル時間 | 548 ms | 
| コンパイル使用メモリ | 7,296 KB | 
| 実行使用メモリ | 50,048 KB | 
| 最終ジャッジ日時 | 2024-12-30 09:37:25 | 
| 合計ジャッジ時間 | 25,517 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 21 | 
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i
a = gets.split.map(&:to_i)
dp = Array.new(40) { Array.new(100005, 0) }
for i in 0...n
	dp[0][i] = a[i]
end
for i in 0...39
	for j in 0...n
		dp[i + 1][j] = dp[i][j] + dp[i][(j + dp[i][j]) % n]
	end
end
q = gets.to_i
while q > 0
	k = gets.to_i
	ans = 0
	for i in 0...40
		if (k[i] == 1)
			ans += dp[i][ans % n]
		end
	end
	puts ans
	q -= 1
end