제출 #941431

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

using namespace std;
constexpr int M = 500'005;
bool czy[M];

int main(){
	cin.tie(0)->sync_with_stdio(0);
	int n;
	cin>>n;
	string temp;
	cin>>temp;
	string s = "#" + temp;
	int k;
	cin>>k;
	while(k--){
		int a, b;
		cin>>a>>b;
		int akt = 0;
		for(int i=a; i<=b; i++){
			if(s[i]=='C') akt++;
			else if(czy[i]==0 && s[i]=='T')	akt--;
			if(akt < 0){
				akt++;
				czy[i] = 1;
			} 
		}
		akt = 0;
		for(int i=b; i>=a; i--){
			if(s[i]=='C') akt++;
			else if(czy[i]==0 && s[i]=='T')	akt--;
			if(akt < 0){
				akt++;
				czy[i] = 1;
			} 
		}
		int wynik = 0;
		//for(int i=1; i<=n; i++) cout<<czy[i]<<" ";
		//cout<<endl;
		for(int i=1; i<=n; i++) if(czy[i]==1) wynik++;
		cout<<wynik<<endl;
		for(int i=a; i<=b; i++) czy[i] = 0;
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...