Submission #101806

#TimeUsernameProblemLanguageResultExecution timeMemory
101806tushar_2658Election (BOI18_election)C++14
28 / 100
3004 ms2464 KiB
#include "bits/stdc++.h" using namespace std; const int maxn = 7e4 + 5; int arr[maxn], arr1[maxn], arr2[maxn], n; string s; int solve(int l, int r){ int cnt = 0; int ret = 0; bool vis[maxn]; memset(vis, 0, sizeof vis); for(int i=l; i<=r; i++){ cnt += arr[i]; if(cnt < 0){ ret++; cnt++; vis[i] = 1; } } int ret1 = 0; cnt = 0; for(int i=r; i>=l; i--){ if(!vis[i])cnt += arr[i]; if(cnt < 0){ ret++; cnt++; } } return max(ret, ret1); } int main(){ //freopen("in.txt", "r", stdin); cin>>n; cin>>s; for(int i=1; i<=n; i++){ if(s[i-1] == 'C')arr[i] = 1; else arr[i] = -1; } int q; cin>>q; while(q--){ int l, r; cin>>l>>r; cout<<solve(l, r)<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...