Submission #1295536

#TimeUsernameProblemLanguageResultExecution timeMemory
1295536kaloyanElection (BOI18_election)C++20
28 / 100
3094 ms812 KiB
#include <iostream> #include <algorithm> #include <vector> #include <string> const int MAXN = 500000 + 10; int n, m; std::string s; char a[MAXN]; bool del[MAXN]; void solve() { std::cin >> n >> s; for(int i = 1 ; i <= n ; ++i) { a[i] = s[i - 1]; } int cap, tony; std::cin >> m; for(int i = 1 ; i <= m ; ++i) { int l, r; std::cin >> l >> r; cap = 0, tony = 0; for(int i = l ; i <= r ; ++i) { if(a[i] == 'C') cap += 1; else tony += 1; if(tony > cap) { del[i] = 1; tony -= 1; } } cap = 0, tony = 0; for(int i = r ; i >= l ; --i) { if(a[i] == 'C') cap += 1; else tony += (!del[i]); if(tony > cap) { del[i] = 1; tony -= 1; } } int ans = 0; for(int i = l ; i <= r ; ++i) { if(del[i]) { ans += 1; del[i] = 0; } } std::cout << ans << "\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...