Hi, please have a look at my code of fun with rotation and find out why i am getting run time error.
Link : http://www.codechef.com/viewsolution/4838245
#include
#include
#define LL long long
#define M 1000000007
LL arr[100005];
int main()
{
LL n,i,m,start=1,index=0,d;
char c;
scanf("%lld %lld",&n,&m);
for(i=1;i<=n;i++)
scanf("%lld",&arr[i]);
while(m--)
{
fflush(stdin);
scanf("%c",&c);
scanf("%lld",&d);
if(c=='R')
{
if(start+d-1<=n)
printf("%lld\n",arr[start+d-1]);
else
{
index=n-start+1;
printf("%lld\n",arr[d-index]);
}
}
else if(c=='C')
{
start+=d;
if(start>n)
start-=n;
}
else
{
start-=d;
if(start<1)
start+=n;
}
}
return 0;
}
Thank you abhinav1234 for such a nice answer. But i want to ask whether fflush(stdin); will not store the extra character when we hit the enter after entering the integer.