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

ゼッケンの交換 (Swapping Bibs)

설명

JOI 高校の N 人の生徒が東西に一列に並んでいる.列の西の端から i 番目の生徒が生徒 i である.それぞれの生徒は整数が 1 つ書かれたゼッケンを付けている.最初,生徒 i のゼッケンには整数 A i が書かれている.

バトンが M 個あり,バトンには 1 から M までの番号が付けられている.k = 1, 2, ..., M に対し,以下の操作を行う.バトン k (2 ≦ k ≦ M) に関する操作は,バトン k - 1 に関する操作が終わってから行う.

先生がバトン k を生徒 1 に渡す.

バトンを受け取った生徒は,以下のルールに従ってバトンを渡す.

ルール:生徒 i がバトン k を受け取ったとする.

1 ≦ i ≦ N - 1 のとき: 生徒 i のゼッケンの整数を k で割った余りが,生徒 i + 1 のゼッケンの整数を k で割った余りよりも大きいとき,生徒 i と生徒 i + 1 がゼッケンを交換し,生徒 i は生徒 i + 1 にバトンを渡す.そうでないときは,ゼッケンを交換せずに,生徒 i は生徒 i + 1 にバトンを渡す.

i = N のとき: 生徒 N はバトンを先生に渡す.

先生が生徒 N からバトン k を受け取ったら,バトン k に関する操作は終わりである.

生徒のゼッケンに最初に書かれていた整数とバトンの個数 M が与えられたとき,先生が生徒 N からバトン M を受け取った後の,それぞれの生徒のゼッケンの整数を求めるプログラムを作成せよ.

제약
입력 형식

入力は 1 + N 行からなる.

1 行目には整数 N, M (1 ≦ N ≦ 100, 1 ≦ M ≦ 100) が空白を区切りとして書かれており,それぞれ生徒の人数とバトンの個数を表す.

続く N 行のうちの i 行目 (1 ≦ i ≦ N) には整数 A i (1 ≦ A i ≦ 1000) が書かれており,生徒 i のゼッケンに最初に書かれている整数 A i を表す.

출력 형식

出力は N 行からなる.i 行目 (1 ≦ i ≦ N) には,先生が生徒 N からバトン M を受け取った後の,生徒 i のゼッケンの整数を出力せよ.

예제 1
입력
6 4
3
2
8
3
1
5
출력
2
3
1
8
5
3
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2016 Preliminary

평가 및 의견

ゼッケンの交換 (Swapping Bibs)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

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

풀이 제출

ゼッケンの交換 (Swapping Bibs)

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