R02013
배열 회전
레이팅
의견: 0
설명
길이가 \(n\)인 배열 \(arr\)가 주어지고, 명령이 \(q\)개 주어진다.
명령의 종류는 다음과 같다.
1 x: 배열을 왼쪽으로 \(x\)칸 민 뒤 \(arr[1]\)을 출력한다. (배열의 끝을 넘어가면 반대편으로 이어진다. 즉, 원형 배열이라고 생각하면 된다.)2 x: 배열을 오른쪽으로 \(x\)칸 민 뒤 \(arr[1]\)을 출력한다.
모든 명령을 수행한 뒤, 최종 배열 \(arr\)를 출력한다. (단, 인덱스는 \(1\)부터 시작한다.)
제약
- \(0 < n,\ q \le 100{,}000\)
- \(0 < x \le 100{,}000\)
- \(-100{,}000 \le arr[i] \le 100{,}000\)
입력 형식
첫 번째 줄에 두 정수 \(n\), \(q\)가 공백으로 구분되어 주어진다.
두 번째 줄에 배열의 원소 \(arr[1], arr[2], \dots, arr[n]\)이 공백으로 구분되어 주어진다.
이후 \(q\)개의 줄에 걸쳐 각 명령이 한 줄에 하나씩 주어진다. 각 명령은 1 x 또는 2 x 형태이다.
출력 형식
각 명령마다 출력값을 공백으로 구분하여 한 줄에 출력한다.
그 다음 줄에 모든 명령을 수행한 후의 배열 \(arr\)를 공백으로 구분하여 출력한다.
서브태스크
| 서브태스크 | 점수 | 설명 |
|---|---|---|
1 | 15점 | \(arr[i] = i\) |
2 | 25점 | \(n\)과 \(q\)가 모두 \(750\) 이하이다. |
3 | 60점 | 추가 제약 사항 없음. |
예제 1
입력
5 3
1 2 3 4 5
1 3
2 2
1 1출력
4 2 3
3 4 5 1 2설명
1 2 3 4 5를 왼쪽으로 3번 회전하면 4 5 1 2 3이 되고,
4 5 1 2 3을 오른쪽으로 2번 회전하면 2 3 4 5 1.
2 3 4 5 1을 왼쪽으로 1번 회전하면 3 4 5 1 2가 된다.
예제 2
입력
5 5
5 3 1 6 -4
1 5
2 2
1 6
2 1
1 2출력
5 6 -4 6 5
5 3 1 6 -4문제 정보
gras 작성
출처 Original
태그
평가 및 의견
배열 회전
개별 의견
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
배열 회전
게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다.
로그인하고 제출하기