Submission #967984

#TimeUsernameProblemLanguageResultExecution timeMemory
967984Darren0724Line Town (CCO23_day1problem3)C++17
0 / 25
1 ms608 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(),x.end() #define ll long long #define LCBorz ios_base::sync_with_stdio(false);cin.tie(0); const int N=1000005; const int mod=1e6+3; const int INF=1e9; int32_t main(){ LCBorz; int n;cin>>n; vector<int> v(n+2),pre(n+2),suf(n+2); for(int i=1;i<=n;i++){ cin>>v[i]; } int last=0,cnt=0,can=1; for(int i=1;i<=n;i++){ if(v[i]==-1){ if(last)can=0; } else{ cnt++; last^=1; } if(can&&last==0){ pre[i]=cnt/2; } else{ pre[i]=INF; } } last=0,can=1,cnt=0; for(int i=n;i>=1;i--){ if(v[i]==1){ if(last)can=0; } else{ cnt++; last^=1; } if(can&&last==0){ suf[i]=cnt/2; } else{ suf[i]=INF; } } int ans=INF; for(int i=0;i<=n;i++){ ans=min(ans,pre[i]+suf[i+1]); } if(ans==INF){ cout<<-1<<endl; } else{ cout<<ans<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...