# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
96269 | KLPP | Election (BOI18_election) | C++14 | 3047 ms | 1488 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
char arr[n];
string s;
cin>>s;
for(int i=0;i<n;i++)arr[i]=s.at(i);
int q;
scanf("%d",&q);
for(int i=0;i<q;i++){
int s,e;
scanf("%d %d",&s,&e);
s--;e--;
bool B[e-s+1];
for(int j=0;j<=e-s;j++)B[j]=false;
int diff=0;
for(int j=s;j<=e;j++){
//cout<<diff<<endl;
if(arr[j]=='C')diff++;
else diff--;
if(diff<0){
diff=0;
B[j-s]=true;
}//cout<<diff<<endl;
}diff=0;
for(int j=e;j>=s;j--){
if(!B[j-s]){
if(arr[j]=='C')diff++;
else diff--;
}
if(diff<0){
diff=0;
B[j-s]=true;
}
}
int ans=0;
for(int j=s;j<=e;j++){
//cout<<B[j-s];
ans+=B[j-s];
}//cout<<endl;
printf("%d\n",ans);
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |