이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |