| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 101798 | tushar_2658 | Election (BOI18_election) | C++14 | 12 ms | 384 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;
const int maxn = 7e4 + 5;
int arr[maxn], arr1[maxn], arr2[maxn], n;
string s;
int solve(int l, int r){
int cnt = 0;
int ans = 0, mx = 0;
for(int i=l; i<=r; i++){
cnt += arr[i];
if(cnt < 0 && arr[i] == 1 && arr[i-1] == -1 && i > l){
mx += abs(cnt-1);
cnt = 0;
}
}
if(cnt < 0){
mx += abs(cnt);
}
int mxx = 0;
cnt = 0;
for(int i=r; i>=l; i--){
cnt += arr[i];
if(cnt < 0 && arr[i] == 1 && arr[i+1] == -1 && i < r){
mxx += abs(cnt-1);
cnt = 0;
}
}
if(cnt < 0){
mxx += abs(cnt);
}
return max(mx, mxx);
}
int main(){
//freopen("in.txt", "r", stdin);
cin>>n;
cin>>s;
for(int i=1; i<=n; i++){
if(s[i-1] == 'C')arr[i] = 1;
else arr[i] = -1;
}
int q;
cin>>q;
while(q--){
int l, r;
cin>>l>>r;
cout<<solve(l, r)<<endl;
}
}
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... | ||||
