提出 #18029328
ソースコード 拡げる
K = gets.to_i
A = K.times.map{
gets; gets.split.map(&:to_i)
}
Q = gets.to_i
B = gets.split.map(&:to_i)
累積と組み = [nil,*A.map{|ak|
累積 = [0]*21
組み = [0]*21
ak.each{|a|
(0..a-1).each{|a|
累積[a] += 1
}
組み[a] += 累積[a]
}
next 累積,組み
}]
組み累積 = 0
累積 = [0]*21
B.each{|k|
累積k,組みk = 累積と組み[k]
20.downto(1){|a|
組み累積 += 累積[a]*(累積k[a-1]-累積k[a]) + 組みk[a]
組み累積 %= 1_000_000_000
累積[a] += 累積k[a]
}
}
p 組み累積
提出情報
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 6 / 6 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, sample_01.txt, sample_02.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand_01.txt | AC | 802 ms | 86640 KiB |
| hand_02.txt | AC | 835 ms | 78876 KiB |
| hand_03.txt | AC | 864 ms | 81892 KiB |
| hand_04.txt | AC | 846 ms | 79784 KiB |
| random_01.txt | AC | 912 ms | 83904 KiB |
| random_02.txt | AC | 598 ms | 23168 KiB |
| random_03.txt | AC | 604 ms | 23784 KiB |
| random_04.txt | AC | 670 ms | 31928 KiB |
| random_05.txt | AC | 593 ms | 25624 KiB |
| random_06.txt | AC | 369 ms | 23096 KiB |
| random_07.txt | AC | 521 ms | 34240 KiB |
| random_08.txt | AC | 614 ms | 49640 KiB |
| random_09.txt | AC | 545 ms | 68804 KiB |
| random_10.txt | AC | 406 ms | 45060 KiB |
| sample_01.txt | AC | 61 ms | 14320 KiB |
| sample_02.txt | AC | 60 ms | 14440 KiB |