제출 #1311189

#제출 시각아이디문제언어결과실행 시간메모리
1311189LM1Election (BOI18_election)C++20
28 / 100
3095 ms952 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,int> #define ff first #define ss second #define pb push_back #define vi vector<int> #define fr(i,ii,iii) for(int i=ii;i<iii;i++) const int N=5e5+5; int n,q,pr[N]; set<int>st; string a; void check(int l,int r,int d){ int x=0; if(d==0){ fr(i,l,r+1){ if(pr[i]-pr[l-1]<x){ x--; st.insert(i); } } } else{ for(int i=r;i>=l;i--){ if(st.count(i))x--; if(pr[r]-pr[i-1]<x){ x--; st.insert(i); } } } } int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); cin>>n>>a>>q; a='@'+a; fr(i,1,n+1){ pr[i]=pr[i-1]+(a[i]=='C'?1:-1); } while(q--){ int l,r;cin>>l>>r; st.clear(); check(l,r,0); check(l,r,1); cout<<st.size()<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...