Why i am getting SIGABRT error…please help…
#include
using namespace std;
int main() {
int T;
cin>>T;
while(T–)
{
int N,K,dis=0,num; char ch,ch1,ch2;
cin>>N>>K;
string str;
cin>>str;
int ar[K];
for(int i=0;i<K;i++)
cin>>ar[i];
for(int i=0;i<N-1;i++)
{
if(str.at(i)==str.at(i+1))
dis+=2;
else
dis+=1;
}
for(int i=0;i<K;i++)
{ num=ar[i];
if(num!=1 && num!=N)
{
ch=str.at(num-1);
ch1=str.at(num-2);
ch2=str.at(num);
if(ch1!=ch2)
cout<<dis<<endl;
else if(ch==ch1)
{dis-=2;
cout<<dis<<endl;
}
else
{dis+=2;
cout<<dis<<endl;
}
if(str.at(num-1)==‘1’)
str=str.substr(0,num-1)+ “0” + str.substr(num,N);
else
str=str.substr(0,num-1)+ “1” + str.substr(num,N);
}
else if(num==1)
{
ch=str.at(num-1);
ch2=str.at(num);
if(ch==ch2)
{dis-=1;
cout<<dis<<endl;
}
else
{dis+=1;
cout<<dis<<endl;
}
if(str.at(num-1)=='1')
str=str.substr(0,num-1)+ "0" + str.substr(num,N);
else
str=str.substr(0,num-1)+ "1" + str.substr(num,N);
}
else
{
ch=str.at(num-1);
ch1=str.at(num-2);
if(ch==ch1)
{dis-=1;
cout<<dis<<endl;
}
else
{dis+=1;
cout<<dis<<endl;
}
if(str.at(num-1)=='1')
str=str.substr(0,num-1)+ "0" + str.substr(num,N);
else
str=str.substr(0,num-1)+ "1" + str.substr(num,N);
}
cout<<str<<endl;
}
}
return 0;
}