Please anyone tell me why my code(RBTREE) is not working. Its showing WA in all inputs.But all my test cases are working fine.

#include<stdio.h>
int main()
{
long q,s,x,y,i,j,c,p;
int r=2,b=1,a;
char C[2];
scanf("%ld",&q);
while(q–)
{
scanf("%s",C);
if(C[1]==105)
{
a=r;
r=b;
b=a;
continue;
}
else
{
scanf("%ld%ld",&x,&y);
s=1,i=1;
while(s<=x)
{
s=2s;
++i;
}
–i;
j=1,s=1;
while(s<=y)
{
s=2
s;
++j;
}
–j;
c=1,p=i;
while(x!=y)
{
if(i>j)
{
x=x/2,–i,++c;
}
else if(i==j)
{
x=x/2,y=y/2;
–i,–j,c+=2;
}
else
{
y=y/2,–j,++c;
}
}

	    if(C[1]==98)
		{
			if(b==2)
			{	
			if(p%2==0)
			printf("%ld\n",c-c/2);
			else
			printf("%ld\n",c/2);
		    }
		    else
		    {
		    	if(p%2==0)
		    	printf("%ld\n",c/2);
		    	else
		    	printf("%ld\n",c-c/2);
		    }
		}  	
		else
		{
		  if(r==2)
			{
			if(p%2==0)
			printf("%ld\n",c-c/2);
			else
			printf("%ld\n",c/2);
		    }
		    else
		    {
		    	if(p%2==0)
		    	printf("%ld\n",c/2);
		    	else
		    	printf("%ld\n",c-c/2);
		    }
		}
	      
	      
	 }
	}
	return 0;
}
1 Like

It returns wrong answer for test cases from problem statement page - JjFRvT - Online C++ Compiler & Debugging Tool - Ideone.com

@nitishchopra08 … look at the end of page, there you will see sections for stdin and stdout

Please read this, before asking for help next time, or even better - read it and chnage your question, to make it easier get the answer quicklier :wink:

Where are test cases on this page???I didn’t get them

On which page you meant? On ideone it is stdin part…

can you help me figure out why this solution is wrong?
http://www.codechef.com/viewsolution/5423114
i used the bit method

@betlista man my code is for chef and red black tree and on JjFRvT - Online C++ Compiler & Debugging Tool - Ideone.com input used is for chef and segment

My bad, sorry… I replaced the input with the one for red-black tree and still wrong output - 2, can you help? Maybe I’m doing something wrong again.

For what inputs you got answer -2
You have to input like this
Qr 4 5
And then output will come

Thanx for taking pain but I need a little more help

It was not -2 (minus two), but two. One number 2 for 4 queries (you have to print result for each query) is not enough…

please tell me the test case you used

The one from problem statement page, try to replace c[2] with c[5]

@betlista thanks a lot man.Submitted code successfully.

1 Like