蒟蒻只想拿前30分的部分分,请各位dalao不要说我的做法
#include <bits/stdc++.h>
#include <stdio.h>
using namespace std;
long long int gcd(long long int a,long long int b)
{
return b ? gcd(b,a%b) : a;
}
int main()
{
int n;
cin>>n;
int m;
cin>>m;
int a[n+5];
int sum[n+5];
sum[0]=0;
for(int i=1;i<=n;i++)
{
char kind;
cin>>kind;
if(kind=='(')
{
a[i]=-1;
}else{
a[i]=1;
}
}
for(int i=1;i<=n;i++)
{
sum[i]=sum[i-1]+a[i];
}
cout<<endl;
for(int i=1;i<=m;i++)
{
char b[11];
cin>>b+1;
if(b[1]=='R')
{
int l,r;
cin>>l>>r;
char kind;
cin>>kind;
if(kind=='(')
{
for(int i=l;i<=r;i++)
{
a[i]=-1;
}
}else{
for(int i=l;i<=r;i++)
{
a[i]=1;
}
}
}
if(b[1]=='S')
{
int l,r;
cin>>l>>r;
for(int i=0;i<=(r-l)/2-1;i++)
{
swap(a[l-i],a[r-i]);
}
}
if(b[1]=='I')
{
int l,r;
cin>>l>>r;
for(int i=l;i<=r;i++)
{
if(a[i]==-1)
{
a[i]=1;
}else{
a[i]=-1;
}
}
}
if(b[1]=='Q')
{
int l,r;
cin>>l>>r;
cout<<abs(sum[r]-sum[l-1])/2<<endl;
}
}
return 0;
}