만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

우선순위 큐와 시뮬레이션

면접 대비

시간 제한1초메모리 제한1024 MB

요약
우선순위 큐의 모든 원소에 A_i를 더한 뒤 각 원소를 K로 나눈 나머지로 바꾸고, 매 질의마다 최댓값을 출력하는 문제입니다.
난이도

보통10점 중 6점

유형
정렬, 시뮬레이션
정답자
아직 제출이 없습니다

문제

NN개의 원소가 들어 있는 우선순위 큐가 있다. 이 큐의 top은 큐에 있는 원소의 최댓값으로 정의한다.

우선순위 큐를 이용해 시뮬레이션한다. ii번째 쿼리는 다음 순서로 진행한다.

  • 우선순위 큐의 모든 원소에 AiA_i를 더한다.
  • 모든 원소를 정수 KK로 나눈 나머지로 바꾼다.
  • top을 출력한다.

TT개의 쿼리를 수행한 결과를 구한다.

입력

첫째 줄에 우선순위 큐에 들어 있는 원소의 개수 NN, 쿼리에서 사용하는 정수 KK, 쿼리의 개수 TT가 공백으로 구분되어 주어진다. (1≤N,T≤200,000; 2≤K≤109)(1 \leq N, T \leq 200,000;\ 2 \leq K \leq 10^{9})

둘째 줄에 우선순위 큐에 들어 있는 원소 QiQ_i가 공백으로 구분되어 주어진다. (1≤Qi≤109)(1 \leq Q_i \leq 10^{9})

셋째 줄에 ii번째 쿼리에 더하는 수 AiA_i가 공백으로 구분되어 주어진다. (1≤Ai≤109)(1 \leq A_i \leq 10^{9})

출력

TT개의 쿼리를 수행한 결과를 순서대로 공백으로 구분하여 출력한다.

예제1

  1. 예제 1

    입력
    5 10 5
    7 3 10 8 4
    4 8 6 7 8
    
    예상 출력
    8 9 8 9 7