제출 #1098101

#제출 시각아이디문제언어결과실행 시간메모리
1098101Alihan_8Election (BOI18_election)C++17
28 / 100
3044 ms1492 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 = r; i >= l; i-- ){
				if ( er[i] ) continue;
				
    			cnt += a[i];
    			
    			if ( cnt < 0 ){
    				er[i] = 1, cnt = 0;
    			}
    		}
    		
    		cnt = 0;
    		
    		for ( int i = l; i <= r; 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...