아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

국제 정보 올림피아드 (IOI)

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

요약
각 참가자의 현재 총점이 주어질 때, 최종 총점 상위 1/12에게 금메달이 주어지는 규칙에서 금메달이 확정된 참가자와 가능성이 있는 참가자를 가려낸다.
난이도

보통10점 중 6점

유형
정렬, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

20XX년, 마침내 JOI국에서 열리게 된 IOI에는 K명의 선수가 참가했다. 선수에게는 1, 2, ..., K의 번호가 붙어 있다. 문제는 모두 N개 출제되며, 각 선수는 각 문제에 대해 0 이상 100 이하의 정수 점수를 받는다.

선수에게는 N개 문제의 합계 점수에 따라 메달이 주어진다. 메달을 주는 자세한 조건은, 예를 들어 금메달에 대해서는 다음과 같이 정해져 있다.

G를, N개 문제의 합계 점수가 G점 이상인 선수의 수가 전체의 1/12 이상이 되는 최대의 값이라고 하자. 이때 금메달이 주어지는 조건은 N개 문제의 합계 점수가 G점 이상인 것이다.

이미 경기가 끝난 문제가 M개 있고, 점수가 확정되어 있다. IOI 웹사이트에서 각 선수의 현재까지의 합계 점수를 보던 당신은, 금메달을 받는 것이 확실한 선수와 금메달을 받을 가능성이 있는 선수가 각각 몇 명인지 알고 싶어졌다.

각 선수의 현재까지의 합계 점수가 주어졌을 때, 금메달을 받는 것이 확실한 선수, 그리고 금메달을 받을 가능성이 있는 선수를 각각 번호순으로 출력하는 프로그램을 작성하시오.

입력

표준 입력에서 다음 입력을 읽는다.

  • 1번째 줄에는 정수 K, N, M이 공백을 구분으로 쓰여 있으며, 선수의 수가 K명임을, 전체 문제 수가 N개임을, 그중 이미 끝난 문제가 M개 있음을 나타낸다.
  • 이어지는 K개 줄에는 각 선수의 점수가 쓰여 있다. i + 1번째 줄 (1 ≤ i ≤ K)에는 번호 i인 선수의 현재까지의 합계 점수를 나타내는 정수 Pi가 쓰여 있다.

출력

표준 출력에 다음 내용을 출력하시오.

  • 처음 a개 줄에는 금메달을 받는 것이 확실한 선수의 번호를 1줄에 1개씩, 작은 순으로 나열해야 한다. 단, a는 금메달을 받는 것이 확실한 선수의 수이다.
  • 이어지는 1개 줄에는 문자열 -------- (하이픈 8개)를 출력하시오.
  • 이어지는 b개 줄에는 금메달을 받을 가능성이 있는 선수의 번호를 1줄에 1개씩, 작은 순으로 나열해야 한다. 단, b는 금메달을 받을 가능성이 있는 선수의 수이다.

제한

  • 1 ≤ K ≤ 100 000 선수의 수
  • 1 ≤ N ≤ 10 000 000 전체 문제 수
  • 0 ≤ M ≤ N 이미 끝난 문제 수
  • 0 ≤ Pi ≤ 100 × M 번호 i인 선수의 현재까지의 합계 점수

예제2

  1. 예제 1

    입력
    15 3 2
    0
    30
    50
    100
    0
    190
    10
    50
    100
    80
    90
    200
    50
    100
    0
    
    예상 출력
    12
    --------
    4
    6
    9
    11
    12
    14
    
  2. 예제 2

    입력
    5 4 2
    0
    50
    100
    150
    200
    
    예상 출력
    --------
    1
    2
    3
    4
    5