이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 ret = 0;
bool vis[maxn];
memset(vis, 0, sizeof vis);
for(int i=l; i<=r; i++){
cnt += arr[i];
if(cnt < 0){
ret++;
cnt++;
vis[i] = 1;
}
}
int ret1 = 0;
cnt = 0;
for(int i=r; i>=l; i--){
if(!vis[i])cnt += arr[i];
if(cnt < 0){
ret++;
cnt++;
}
}
return max(ret, ret1);
}
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;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |