Submission #139589

#TimeUsernameProblemLanguageResultExecution timeMemory
139589FedericoS가로등 (APIO19_street_lamps)C++14
20 / 100
307 ms5752 KiB
#include <iostream>
using namespace std;

bool sub2=true;

int N,Q;
char c;
string s;
int A[300005],B[300005];
bool T[105][105];

int main(){
	cin>>N>>Q;
	for(int i=0;i<N;i++){
		cin>>c;
		B[i]=(c=='1');
		T[0][i]=B[i];
	}

	for(int i=0;i<Q;i++){
		cin>>s;
		if(s=="query"){
			cin>>A[i]>>B[i];
			A[i]--;
			B[i]--;
			if(B[i]-A[i]!=1)
				sub2=false;
		}
		else{
			cin>>A[i];
			A[i]--;
			B[i]=-1;
		}
	}

	if(N<=100 and Q<=100){
		for(int i=0;i<Q;i++){
			if(B[i]==-1)
				T[i+1][A[i]]=true;
			else{
				int ans=0;
				for(int k=0;k<i+1;k++){
					bool flag=true;
					for(int j=A[i];j<B[i];j++)
						flag&=T[k][j];
					ans+=flag;
				}
				cout<<ans<<"\n";
			}
			for(int j=0;j<N;j++)
				T[i+1][j]^=T[i][j];
		}
	}

	/*for(int i=0;i<Q;i++){
		for(int j=0;j<N;j++)
			cout<<T[i][j]<<" ";
		cout<<endl;
	}*/
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...