Submission #64187

#TimeUsernameProblemLanguageResultExecution timeMemory
64187Bodo171Election (BOI18_election)C++14
28 / 100
3042 ms1420 KiB
#include <iostream> #include <fstream> using namespace std; const int nmax=100005; string str; int s[nmax],l[nmax],r[nmax]; int n,i,m,st,dr,ans,j,p,take,p1,p2,u1,u2; int sum(int l,int r) { if(l>r) return 0; return s[r]-s[l-1]; } int main() { // freopen("data.in","r",stdin); cin>>n; cin>>str; cin>>m; for(int cnt=1;cnt<=m;cnt++) { cin>>st>>dr;ans=0; p1=p2=1;u1=u2=0; for(j=st;j<=dr;j++) if(str[j-1]=='C') l[++u1]=j; for(j=st;j<=dr;j++) if(str[j-1]=='C') r[++u2]=j; for(j=st;j<=dr;j++) if(str[j-1]=='T') { while(p2<=u2&&r[p2]<j) p2++; if(p1<=u1&&l[p1]<j&&p2<=u2) { p1++;p2++; } else ans++; } cout<<ans<<'\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...