結果
問題 |
No.1007 コイン集め
|
ユーザー |
![]() |
提出日時 | 2024-05-17 07:59:07 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 845 bytes |
コンパイル時間 | 4,040 ms |
コンパイル使用メモリ | 278,208 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-20 11:31:14 |
合計ジャッジ時間 | 5,462 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 WA * 5 |
ソースコード
#define _GLIBCXX_DEBUG #include <bits/stdc++.h> #include <atcoder/dsu> #include <atcoder/segtree> using namespace atcoder; using namespace std; typedef long long ll; #define rep(i,a,b) for(int i=a;i<b;i++) using vi = vector<int>; using vvi = vector<vi>; using li =vector<ll>; using lli=vector<li>; using si =vector<char>; using ssi =vector<si>; const long long INF = 1e18; const long long MOD=1e9+7; //for (auto [key, val] : mp) int main() { ll n,k;cin>>n>>k; li vec(n); rep(i,0,n)cin>>vec[i]; ll a=0,b=n-1; rep(i,0,k-1){if(vec[i]==1){a=i;}if(vec[i]==0){a=i+1;}} rep(i,k,n){if(vec[i]==1){b=i;break;}else if(vec[i]==0){b=i-1;break;}} if(vec[k-1]>1){ ll ans=0; rep(i,a,b+1)ans+=vec[i]; cout<<ans; } else if(vec[k-1]==1) { ll ans=0; rep(i,a,k-1)ans+=vec[i]; ll B=0; rep(i,k,b)B+=vec[i]; if(B<ans)cout<<ans; else cout<<B; } else cout<<0; }