DEVUCLASS MARCH CODECHEF http://www.codechef.com/MARCH15/problems/DEVCLASS getting runtime error (when b1==g1)
Your code here...
Y#include<iostream>
#include<cmath>
#include<vector>
#include<cstring>
#include<cstdio>
using namespace std;
typedef vector <int> vec;
int type;
//int v1[100001],v2[100001];
vec v1,v2;
char s[100004];
char s1[100004];
int edit(char c1)
{ int i;
long long sum;
v1.clear();
v2.clear();
sum=0;
//cout<<s<<endl;
//cout<<s1<<endl;
if(c1=='B')
{for(i=0;i<strlen(s);i++)
if(i%2==0&&s[i]!='B')
v1.push_back(i);
if(i%2==1&&s[i]!='G')
v2.push_back(i);}
if(c1=='G')
{for(i=0;i<strlen(s);i++)
if(i%2==0&&s[i]!='G')
v2.push_back(i);
if(i%2==1&&s[i]!='B')
v1.push_back(i);}
for(i=0;i<v1.size();i++)
{ long long p=(v1[i]-v2[i]);
if(p<0)
p=-p;
sum=sum+pow(p,type);
}
return sum;
}
int main()
{int t,i;
int b1;
long long g1,g2;
long long b,g;
char c;
scanf("%d",&t);
while(t--)
{scanf("%d",&type);
s1[0]='\0';
s[0]='\0';
//s.clear();
//s1.clear();
//v1.clear();
//v2.clear();
cin>>s;
//cout<<strlen(s)<<endl;
b1=0;
g1=0;
for(i=0;i<strlen(s);i++)
{if(s[i]=='B')
b1++;
else
g1++;}
//cout<<g1<<b1<<endl;
//cout<<abs(g1-b1)<<endl;
if((g1-b1)>1||(g1-b1)<-1)
{
printf("-1");
continue;
}
else if(g1==(b1+1))
{c='G';
g=edit(c);
}
else if(b1==(g1+1))
{
c='B';
g=edit(c);
}
else if(b1==g1)
{
int x=edit((char)'B');
int y=edit((char)'G');
g=min(x,y);
}
printf("%lld",g);
}
}Your code here...
~~~~~