#include <iostream>
#include <vector>
using namespace std;
typedef pair<int,int> pii;
bool sub2=true;
int N,Q;
char c;
string s;
int A[300005],B[300005];
bool P[300005];
bool T[105][105];
vector<pii> V[300005];
int main(){
cin>>N>>Q;
for(int i=0;i<N;i++){
cin>>c;
P[i]=(c=='1');
T[0][i]=P[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];
}
}
else if(sub2){
for(int i=0;i<N;i++)
V[i].push_back({0,0});
for(int i=0;i<Q;i++){
if(B[i]==-1){
if(P[A[i]])
V[A[i]].push_back({i+1,V[A[i]].back().second+i+1-V[A[i]].back().first});
else
V[A[i]].push_back({i+1,V[A[i]].back().second});
P[A[i]]=!P[A[i]];
}
else{
if(P[A[i]])
cout<<V[A[i]].back().second+i+1-V[A[i]].back().first<<"\n";
else
cout<<V[A[i]].back().second<<"\n";
}
}
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
9 ms |
7416 KB |
Output is correct |
2 |
Correct |
8 ms |
7416 KB |
Output is correct |
3 |
Correct |
8 ms |
7416 KB |
Output is correct |
4 |
Correct |
8 ms |
7416 KB |
Output is correct |
5 |
Correct |
8 ms |
7416 KB |
Output is correct |
6 |
Correct |
11 ms |
7416 KB |
Output is correct |
7 |
Correct |
10 ms |
7416 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
341 ms |
12908 KB |
Output is correct |
2 |
Correct |
353 ms |
15628 KB |
Output is correct |
3 |
Correct |
405 ms |
16056 KB |
Output is correct |
4 |
Incorrect |
656 ms |
25296 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
9 ms |
7416 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
10 ms |
7416 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
9 ms |
7416 KB |
Output is correct |
2 |
Correct |
8 ms |
7416 KB |
Output is correct |
3 |
Correct |
8 ms |
7416 KB |
Output is correct |
4 |
Correct |
8 ms |
7416 KB |
Output is correct |
5 |
Correct |
8 ms |
7416 KB |
Output is correct |
6 |
Correct |
11 ms |
7416 KB |
Output is correct |
7 |
Correct |
10 ms |
7416 KB |
Output is correct |
8 |
Correct |
341 ms |
12908 KB |
Output is correct |
9 |
Correct |
353 ms |
15628 KB |
Output is correct |
10 |
Correct |
405 ms |
16056 KB |
Output is correct |
11 |
Incorrect |
656 ms |
25296 KB |
Output isn't correct |
12 |
Halted |
0 ms |
0 KB |
- |