# Array Rotation

Hi,

The practice problem I have been working on - COF1MED1 Problem - CodeChef

The solution which I had submitted-
https://www.codechef.com/viewsolution/44066530

Can anyone tell whether my logic is incorrect or is there any other problem.
Help would be appreciated.

Thanks

Hey
I tried this problem in C. The code worked fine on my compiler, but the submission was still marked wrong. Even I am unable to understand where the problem is.
PS- I am a rookie to CodeChef and coding itself. Why is the code so complex. That’s not the way someone actually solves the problem.
Here is my approach (and so, everyone’s).

• Let `ind` be pointing to 0 initially.
• Now process queries.
• If the query is to rotate the array left by `d` units, then set `ind` to `(ind + d) % n`.
• If the query is to rotate the array right by `d` units, then set `ind` to `(ind + n - d) % n`.
• If the query is to find the element at index `d`, then simply output `a[(ind + d - 1) % n]`.

I hope there is no need for further explanation. I am pretty much sure this works.

Why are there no Accepted solutions ?
Surprisingly, both of my solutions (C and Python, implementing the above approach) gave WA. There is no editorial for the problem My approach is I am actually rotating the array for every query.

1 Like

Don’t know.
I tried giving inputs for my code, it worked.
I thought it was failing some hidden test case, so I asked here.

1 Like

@suman_18733097
can you please why explain why do we need to do soo many times mod for every step we add.
why cant we just add first like
example
array=[2,1]
queries = 2
initial sum=3
processing query 1=[2,1,2,1]===6
processing query 2=[2,1,2,1,2,1,2,1]====12
code :: sum=sum+sum;

then at the end
cout<<abs(sum)%1000000007;

note : i believe there is no need for rotation of the array since thats not req, so i just gave the above example without making any rotation since that makes no difference to the ans

I guess you misunderstood the subject of the discussion. This Discussion is about a different problem but has the same name as what you think.

You are referring to this problem (If I am not wrong).