Submission #413148

#TimeUsernameProblemLanguageResultExecution timeMemory
413148Theo830Election (BOI18_election)C++17
28 / 100
3077 ms1092 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll INF = 1e9+7; ll MOD = 998244353; typedef pair<ll,ll> ii; #define iii pair<ll,ii> #define f(i,a,b) for(ll i = a;i < b;i++) #define pb push_back #define vll vector<ll> #define F first #define S second #define all(x) (x).begin(), (x).end() ///I hope I will get uprating and don't make mistakes ///I will never stop programming ///sqrt(-1) Love C++ ///Please don't hack me ///@TheofanisOrfanou Theo830 ///Think different approaches (bs,dp,greedy,graphs,shortest paths,mst) ///Stay Calm ///Look for special cases ///Beware of overflow and array bounds ///Think the problem backwards ///Training int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); ll n,q; cin>>n; string s; cin>>s; cin>>q; while(q--){ ll l,r; cin>>l>>r; l--; r--; ll ans = 0; ll cur = 0; bool allaxa[n] = {0}; f(j,l,r+1){ if(s[j] == 'T'){ cur++; } else{ cur--; } if(cur == 1){ ans++; allaxa[j] = 1; cur--; } } cur = 0; for(ll j = r;j >= l;j--){ if(allaxa[j]){ continue; } if(s[j] == 'T'){ cur++; } else{ cur--; } if(cur == 1){ ans++; cur--; } } cout<<ans<<"\n"; } } /* 11 CCCTTTTTTCC 3 1 11 4 9 1 6 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...