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

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

Medalid

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

요약
경기 번호 여러 개가 주어질 때, 각 묶음이 빈틈없는 연속 정수가 되도록 나누는 최소 묶음 수를 구한다.
난이도

보통10점 중 6점

유형
그리디, 해시맵, 정렬
정답자
아직 제출이 없습니다

문제

Oleg on osalenud mitmes spordivõistluste sarjas. Igas sarjas on võistlused järjest nummerdatud, näiteks "36. Kükametsa Tõukekelgumaraton".

Igal võistlusel antakse igale osalejale medal. Igale medalile on kirjutatud võistluse järjenumber oma sarjas, aga muus osas on medalid identsed.

Oleg on osalenud paljudel võistlustel ning tal on suur kotitäis medaleid. Tuvastada vähim võimalik erinevate sarjade arv, millelt ta need medalid saada võis.

On teada, et kui Oleg mingis sarjas osalema hakkab, käib ta järjest kõigil selle sarja võistlustel, ühtki vahele jätmata. Seega, kui ta käib näiteks 36. ja 38. Kükametsa Tõukekelgumaratonil, osaleb ta kindlasti ka 37. Kükametsa Tõukekelgumaratonil.

입력

Tekstifaili esimesel real on medalite arv NN (1≤N<1061 \le N < 10^6) ja teisel real NN tühikutega eraldatud täisarvu M_iM\_i (1≤M_i≤10001 \le M\_{i} \le 1000): medalitel olevad võistluste järjenumbrid.

출력

Tekstifaili esimesele reale väljastada vähim võimalik võistlussarjade arv VV ning järgmisele VV reale üks võimalik medalite jaotus sarjade vahel. Igale reale väljastada ühes sarjas osalemiste arv ning sellelt saadud medalite numbrid kasvavas järjekorras.

예제1

  1. 예제 1

    입력
    10
    46 47 48 45 2 46 48 3 1 49
    
    예상 출력
    4
    3 1 2 3
    5 45 46 47 48 49
    1 46
    1 48