結果
| 問題 |
No.1007 コイン集め
|
| コンテスト | |
| ユーザー |
995himada
|
| 提出日時 | 2020-03-07 10:15:27 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 146 ms / 1,500 ms |
| コード長 | 914 bytes |
| コンパイル時間 | 77 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 19,584 KB |
| 最終ジャッジ日時 | 2024-10-14 12:00:14 |
| 合計ジャッジ時間 | 3,525 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
コンパイルメッセージ
Syntax OK
ソースコード
# require 'pry'
def leftcalc(arr, start)
res = 0
(start - 2).downto(0) do |i|
if arr[i] >= 2
res += arr[i]
elsif arr[i] == 1
res += arr[i]
break
elsif arr[i] == 0
break
end
end
return res
end
def rightcalc(arr, start)
res = 0
start.upto(arr.size - 1) do |i|
if arr[i] >= 2
res += arr[i]
elsif arr[i] == 1
res += arr[i]
break
elsif arr[i] == 0
break
end
end
return res
end
N, K = gets.split.map(&:to_i)
arr = gets.split.map(&:to_i)
if K > 1 && K < N
leftsum = leftcalc(arr, K)
rightsum = rightcalc(arr, K)
elsif K == 1
leftsum = 0
rightsum = rightcalc(arr, K)
elsif K == N
leftsum = leftcalc(arr, K)
rightsum = 0
end
# binding.pry
if arr[K - 1] >= 2
puts arr[K - 1] + leftsum + rightsum
elsif arr[K - 1] == 1
puts arr[K - 1] + (leftsum >= rightsum ? leftsum : rightsum)
elsif arr[K - 1] == 0
puts 0
end
995himada