Решение задачи №1220 «Суперсдвиг» с ACMP





Решение задачи №1220 «Суперсдвиг» с ACMP

Условие задачи

Дана последовательность из N целых чисел и число K. Необходимо сдвинуть всю последовательность (сдвиг - циклический) на |K| элементов вправо, если K – положительное и влево, если отрицательное.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N, во второй строке записаны N целых чисел Ai, а в последней – целое число K. (1 ≤ N ≤ 105, |K| ≤ 105, |Ai| ≤ 100).

Выходные данные
В выходной файл OUTPUT.TXT выведите полученную последовательность.

#include<iostream>
using namespace std;
main()
{
int a[100000],i,n,k,L,R,m=0;
cin>>n;

for(i=0;i<n;i++)
cin>>a[i];
cin>>k;
if(k>0)k%=n;
else k=n-((-k)%n);

for(i=n-k;i<n;i++)
cout<<a[i]<<' ';

for(i=0;i<n-k;i++)
cout<<a[i]<<' ';
}



Условия задач взяты с сайта acmp.ru