結果
問題 |
No.1007 コイン集め
|
ユーザー |
![]() |
提出日時 | 2025-06-03 13:00:08 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 47 ms / 1,500 ms |
コード長 | 832 bytes |
コンパイル時間 | 3,527 ms |
コンパイル使用メモリ | 273,780 KB |
実行使用メモリ | 6,272 KB |
最終ジャッジ日時 | 2025-06-03 13:00:13 |
合計ジャッジ時間 | 5,181 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N, K; cin >> N >> K; vector<int> A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } K--; long long left = 0; long long right = 0; for (int i = K + 1; i < N; i++) { if (A[i] == 0) { break; } right += A[i]; if (A[i] == 1) { break; } } for (int i = K - 1; i >= 0; i--) { if (A[i] == 0) { break; } left += A[i]; if (A[i] == 1) { break; } } if (A[K] == 0) { cout << 0; return 0; } else if (A[K] == 1) { cout << max(left, right) + A[K]; } else { cout << left + right + A[K]; } }