Logo
(追記) (追記ここまで)

33666번 - 생일 멘션이 너무 많아

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2.8 초 329 MB3721147933.193%

문제

곧 있을 루미의 생일을 축하해 주기 위해 $N$명이나 되는 많은 사람들이 생일 축하 멘션을 보내왔다. 하지만 도배가 허용된 채팅방에 멘션을 허용해 준 나머지 다른 사람들의 멘션을 너무 많이 받아 답장하기 어려워졌다. 따라서 루미는 각 멘션마다 메시지를 보내주는 매크로를 만들기로 하였다.

그런데 루미는 한 사람이 보낸 서로 다른 멘션에 똑같은 메시지를 보내면 루미가 그 사람에게 매크로 의심을 받을 것이라고 생각했다. 그래서 루미는 매크로 의심을 피하기 위해 아래와 같이 매크로를 만들기로 했다.

  1. 서로 다른 준비된 $M$개의 메시지에 1ドル$번, 2ドル$번, 3ドル$번, ..., $M$번으로 번호를 매긴다.
  2. 멘션을 2ドル$회 이상한 사람들이 멘션을 한 횟수의 평균을 구한다. 단, 2ドル$회 이상 멘션을 보낸 사람이 없다면 평균은 0ドル$이다.
  3. 멘션을 한 횟수가 평균 이하인 사람에게는 첫 번째 멘션부터 순서대로 각 멘션마다 1ドル$번 메시지부터 차례대로 보낸다. 만약 준비된 메시지가 멘션의 양보다 적어 $M$개의 메시지를 다 쓴 경우에는 1ドル$번 메시지로 돌아와 다시 메시지를 보내는 과정을 반복한다.
  4. 멘션을 한 횟수가 평균을 초과한 사람에게는 그 사람의 첫 번째 멘션에만 1ドル$번 메시지를 1ドル$회 보내도록 한다.

예를 들어

  1. 평균 멘션 횟수가 5ドル$회, 준비된 메시지 개수가 6ドル$개일 때
    • 4ドル$회 멘션을 보낸 사람에게는 1,2,3,4ドル$번째 멘션에 1,2,3,4ドル$번 메시지를 각각 보내게 된다.
    • 6ドル$회 멘션을 보낸 사람에게는 1ドル$번 메시지만 1ドル$회 보낸다.
  2. 평균 멘션 횟수가 5ドル$회, 준비된 메시지 개수가 3ドル$개일 때
    • 4ドル$회 멘션을 보낸 사람에게는 1,2,3,4ドル$번째 멘션에 1,2,3,1ドル$번 메시지를 각각 보내게 된다.
    • 6ドル$회 멘션을 보낸 사람에게는 1ドル$번 메시지만 1ドル$회 보낸다.

이와 같이 매크로를 만들고 $M$개의 메시지를 준비했을 때 1ドル$번부터 $M$번까지 각 메시지를 보낸 횟수를 구하라.

입력

첫 번째 줄에 $N, M$이 공백으로 구분되어 주어진다.

두 번째 줄에 $i(1\leq i\leq N)$번째 사람이 멘션한 횟수 $P_i$가 공백으로 구분되어 주어진다.

출력

한 사람이 보낸 서로 다른 멘션에 똑같은 메시지를 보내 매크로 의심을 받게 된다면 -1을, 아니라면 1ドル$번부터 $M$번까지 메시지를 보낸 횟수를 공백으로 구분해 출력하라.

제한

  • 1ドル\leq N\leq 10^6$
  • 1ドル\leq M\leq 10^6$
  • 1ドル\leq P_i\leq 10^9$
  • 입력으로 주어지는 수는 모두 정수이다.

예제 입력 1

9 1
1 5 20 3 4 2 49 5 4

예제 출력 1

-1

예제 입력 2

5 3
1 2 3 4 5

예제 출력 2

5 2 1

힌트

출처

Contest > BOJ User Contest > Happy Birthday Lumi! > Happy Birthday Lumi! 2025 D번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /