結果
| 問題 | No.1456 Range Xor |
| コンテスト | |
| ユーザー |
kanno_kanno
|
| 提出日時 | 2021-04-22 19:36:48 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 570 bytes |
| 記録 | |
| コンパイル時間 | 73 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 20,480 KB |
| 最終ジャッジ日時 | 2024-07-04 06:31:32 |
| 合計ジャッジ時間 | 6,514 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 WA * 27 |
コンパイルメッセージ
Syntax OK
ソースコード
def reverse_calc(i, k, nums)
tmp = nums[i]
(0...i).to_a.reverse.each do |j|
break if (tmp + nums[j]) > k
tmp += nums[j]
end
tmp
end
def solve(line1, line2)
n, k = line1.split.map(&:to_i)
nums = line2.split.map(&:to_i)
tmp = 0
(0...n).each do |i|
return 'No' if nums[i] > k
next if (i != 0) && (nums[i - 1] == nums[i])
tmp += nums[i]
return 'Yes' if tmp == k
# Kを超えた場合は再計算
tmp = reverse_calc(i, k, nums) if tmp > k
end
'No'
end
line1 = gets.chomp
line2 = gets.chomp
puts solve(line1, line2)
kanno_kanno