Submission #1227973

#TimeUsernameProblemLanguageResultExecution timeMemory
1227973Ghulam_JunaidElection (BOI18_election)C++20
28 / 100
7 ms580 KiB
#include <bits/stdc++.h> using namespace std; const int N = 2005; int n, q, val[N]; string s; int main(){ cin >> n >> s >> q; s = '_' + s; vector<int> vec; while(q--){ int l, r; cin >> l >> r; int ans = 0; vec.clear(); val[l - 1] = 0; for (int i = l; i <= r; i ++){ val[i] = val[i - 1]; if (s[i] == 'C') val[i]++; else val[i]--; if (val[i] == -1){ val[i] = 0; vec.push_back(i); } } val[r + 1] = 0; for (int i = r; i >= l; i --){ val[i] = val[i + 1]; if (s[i] == 'C') val[i]++; else val[i]--; if (val[i] == -1){ val[i] = 0; bool done = 0; if (vec.size() and vec.back() >= i){ ans++; vec.pop_back(); } else ans++; } } ans += vec.size(); cout << ans << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...