#include<stdio.h>
void reverse( int * a, int i, int j)
{
if ( i== j) return ;
int index, temp= 0 ;
int mid= ( j- i+ 1 ) / 2 ;
for ( index= 0 ; index< mid; index++, i++, j-- )
{
temp=* ( a+ i) ;
* ( a+ i) =* ( a+ j) ;
* ( a+ j) = temp;
}
}
void rotate( int * arr, int N, int len)
{
if ( N== len) return ;
reverse( arr, len- N, len- 1 ) ;
reverse( arr, 0 , len- N- 1 ) ;
reverse( arr, 0 , len- 1 ) ;
}
int main( )
{
int arr[ ] = { 1 , 2 , 3 , 4 , 5 } ;
rotate( arr, 7 , 5 ) ;
for ( i= 0 ; i< 5 ; i++ )
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCByZXZlcnNlKGludCogYSxpbnQgaSxpbnQgaikKewppZihpPT1qKSByZXR1cm47CmludCBpbmRleCx0ZW1wPTA7CmludCBtaWQ9KGotaSsxKS8yOwpmb3IoaW5kZXg9MDtpbmRleDxtaWQ7aW5kZXgrKyxpKyssai0tKQp7CnRlbXA9KihhK2kpOwoqKGEraSk9KihhK2opOwoqKGEraik9dGVtcDsKfQp9Cgp2b2lkIHJvdGF0ZShpbnQqIGFycixpbnQgTixpbnQgbGVuKQp7CmlmKE49PWxlbikgcmV0dXJuOwpyZXZlcnNlKGFycixsZW4tTixsZW4tMSk7CnJldmVyc2UoYXJyLDAsbGVuLU4tMSk7CnJldmVyc2UoYXJyLDAsbGVuLTEpOwp9CgppbnQgbWFpbigpCnsKaW50IGFycltdPXsxLDIsMyw0LDV9Owpyb3RhdGUoYXJyLDcsNSk7CmZvcihpPTA7aTw1O2krKykKCXByaW50ZigiJWRcbiIsYXJyW2ldKTsKcmV0dXJuIDA7Cn0=