RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R01555

달팽이 줄 세우기

Bronze III 브론즈 III
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

\(N\) 마리의 달팽이가 한 줄로 서 있다. 달팽이에는 각각 서로 다른 번호가 매겨져 있으며, 맨 앞에서부터 맨 뒤까지의 처음 순서가 주어진다.

매 분마다 줄의 맨 앞에 있는 달팽이가 줄의 맨 뒤로 이동한다. 즉, 맨 앞 달팽이가 빠져나와 줄의 끝에 다시 붙고, 그 뒤에 있던 달팽이가 새로운 맨 앞이 된다.

\(M\) 분이 지난 후, 맨 앞에서부터 맨 뒤까지 달팽이들의 번호 순서를 출력하는 프로그램을 작성하라.

예를 들어 처음 줄이 1 2 3 4 이고 \(M = 2\) 라면,

  • 1분 후: 2 3 4 1

  • 2분 후: 3 4 1 2

이므로 답은 3 4 1 2 이다.

제약

\(1 \le N \le 250{,}000\)

\(0 \le M \le 1{,}000{,}000{,}000\)

둘째 줄에 주어지는 번호는 \(1\) 부터 \(N\) 까지의 수를 한 번씩 포함하는 순열이다.

입력 형식

첫째 줄에 달팽이의 수 \(N\) 과 지나간 시간 \(M\) 이 공백으로 구분되어 주어진다. (\(1 \le N \le 250{,}000\), \(0 \le M \le 1{,}000{,}000{,}000\))

둘째 줄에 처음 줄에 선 달팽이들의 번호가 맨 앞에서부터 맨 뒤까지 차례대로 공백으로 구분되어 주어진다. 번호는 \(1\) 이상 \(N\) 이하의 서로 다른 정수이다.

출력 형식

\(M\) 분이 지난 후, 맨 앞에서부터 맨 뒤까지 달팽이들의 번호를 공백으로 구분하여 한 줄에 출력한다.

예제 1
입력
4 2
1 2 3 4
출력
3 4 1 2
설명

처음 줄: 1 2 3 4
1분 후: 맨 앞 1이 맨 뒤로 → 2 3 4 1
2분 후: 맨 앞 2가 맨 뒤로 → 3 4 1 2

예제 2
입력
5 7
2 5 3 1 4
출력
3 1 4 2 5
설명

\(M = 7\), \(N = 5\) 이므로 \(7 \bmod 5 = 2\) 분 회전한 것과 같다.
처음 줄: 2 5 3 1 4 → 2분 후: 3 1 4 2 5

문제 정보

riseoj 작성

출처 Original

평가 및 의견

달팽이 줄 세우기

개요
출제자 난이도 Bronze III 브론즈 III 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

달팽이 줄 세우기

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8