Submission #1295532

#TimeUsernameProblemLanguageResultExecution timeMemory
1295532kaloyanElection (BOI18_election)C++20
0 / 100
5 ms332 KiB
#include <iostream> #include <algorithm> #include <vector> #include <string> const int MAXN = 500000 + 10; int n, m; std::string s; char a[MAXN]; void solve() { std::cin >> n >> s; for(int i = 1 ; i <= n ; ++i) { a[i] = s[i - 1]; } std::cin >> m; for(int i = 1 ; i <= m ; ++i) { int l, r; std::cin >> l >> r; int left = 0, right = 0; int cap, tony; cap = 0, tony = 0; for(int i = l ; i <= r ; ++i) { if(a[i] == 'C') cap += 1; else tony += 1; if(tony > cap) { left += 1; tony -= 1; } } cap = 0, tony = 0; for(int i = r ; i >= l ; --i) { if(a[i] == 'C') cap += 1; else tony += 1; if(tony > cap) { right += 1; tony -= 1; } } std::cout << std::max(left, right) << "\n"; } } void fastIO() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); std::cout.tie(NULL); } int main() { fastIO(); solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...