static void Main(string[] args) { Dazcode dazcode = new Dazcode(); int[] inputArray = Array.ConvertAll(dazcode.getNextString().Split(' '), int.Parse); int arrayCount = inputArray[0]; int numberShift = inputArray[1]; int numberQueries = inputArray[2]; int[] rotationArray = Array.ConvertAll(dazcode.getNextString().Split(' '), int.Parse); int theArraySize = rotationArray.Length; int[] rotatedArray = new int[theArraySize]; if (numberShift > theArraySize) { numberShift = numberShift % theArraySize; } Array.Copy(rotationArray, 0, rotatedArray, numberShift, theArraySize - numberShift); Array.Copy(rotationArray, theArraySize - numberShift, rotatedArray, 0, numberShift); for (int i = 0; i < numberQueries; i++) { int currentIndex = Convert.ToInt32(dazcode.getNextString()); Console.WriteLine(rotatedArray[currentIndex]); } dazcode.pauseIfDebug(); }
static void Main(string[] args) { Dazcode dazcode = new Dazcode(); int[] input1 = Array.ConvertAll(dazcode.getNextString().Split(' '), int.Parse); int arraySize = input1[0]; int leftRotate = input1[1]; int[] a = Array.ConvertAll(dazcode.getNextString().Split(' '), int.Parse); int[] rotatedArray = new int[a.Length]; for (int i = 0; i < arraySize; i++) { int swapIndex = GetSwapLocation(i, arraySize, leftRotate); rotatedArray[swapIndex] = a[i]; } Console.WriteLine(String.Join(" ", rotatedArray)); dazcode.pauseIfDebug(); }