結果
問題 |
No.1007 コイン集め
|
ユーザー |
![]() |
提出日時 | 2020-04-03 03:49:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 596 ms / 1,500 ms |
コード長 | 1,269 bytes |
コンパイル時間 | 1,765 ms |
コンパイル使用メモリ | 77,020 KB |
実行使用メモリ | 49,892 KB |
最終ジャッジ日時 | 2024-06-28 17:40:07 |
合計ジャッジ時間 | 9,729 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
import java.io.PrintWriter; import java.util.*; public class Main { Scanner sc = new Scanner(System.in); PrintWriter out = new PrintWriter(System.out); public static void main(String[] args) { new Main().run(); } void run() { int n = sc.nextInt(); int k = sc.nextInt()-1; int[] arr = new int[n]; for (int i=0; i<n; i++) arr[i] = sc.nextInt(); if (arr[k]==0) { out.print(0); out.flush(); return; } long left = 0; long right = 0; long ans = 0; L: for (int i=k-1; i>=0; i--) { if (arr[i]==0) break L; if (arr[i]==1) { left++; break L; } left += arr[i]; } R: for (int i=k+1; i<n; i++) { if (arr[i]==0) break R; if (arr[i]==1) { right++; break R; } right += arr[i]; } if (arr[k]==1) { ans = (left<right) ? right+1 : left+1; out.print(ans); out.flush(); return; } ans += left+right+arr[k]; out.print(ans); out.flush(); } }