제출 #1098087

#제출 시각아이디문제언어결과실행 시간메모리
1098087Alihan_8Election (BOI18_election)C++17
28 / 100
3085 ms1600 KiB
#include <bits/stdc++.h>

using namespace std;

signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int n; cin >> n;
	
	vector <int> a(n + 1);
	
	for ( int i = 1; i <= n; i++ ){
		char x; cin >> x;
		
		a[i] = (x == 'C' ? 1 : -1);
	}
	
	int q; cin >> q;
	
	while ( q-- ){
		int l, r; cin >> l >> r;
		
		vector <int> er(n + 1);
		
		int cnt = 0;
		
		for ( int i = l; i <= r; i++ ){
			cnt += a[i];
			
			if ( cnt < 0 ){
				er[i] = 1, cnt = 0;
			}
		}
		
		cnt = 0;
		
		for ( int i = r; i >= l; i-- ){
			if ( er[i] ) continue;
			
			if ( a[i] == -1 ){
				if ( cnt == 0 ) er[i] = 1;
				else cnt -= 1;
			} else{
				cnt += 1;
			}
		}
		
		cout << accumulate(er.begin(), er.end(), 0) << '\n';
	}
	
	cout << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...