結果

問題 No.1007 コイン集め
ユーザー simansiman
提出日時 2020-03-12 00:32:14
言語 Ruby
(3.4.1)
結果
AC  
実行時間 134 ms / 1,500 ms
コード長 356 bytes
コンパイル時間 382 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 19,456 KB
最終ジャッジ日時 2024-11-16 04:21:51
合計ジャッジ時間 4,300 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N, K = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)

left_cnt = 0
right_cnt = 0

(K - 2).downto(0) do |k|
  left_cnt += A[k]

  break if A[k] <= 1
end

K.upto(N - 1) do |k|
  right_cnt += A[k]

  break if A[k] <= 1
end

if A[K - 1] == 0
  puts 0
elsif A[K - 1] == 1
  puts [left_cnt, right_cnt].max + 1
else
  puts left_cnt + right_cnt + A[K - 1]
end
0