Jada kustutamine
문제
Me kõik tunneme funktsioone ja , mis leiavad vastavalt vähima ja suurima hulka kuuluva väärtuse. Vaatleme nüüd funktsiooni , mis arvu\-hulgale rakendatuna tagastab minimaalse hulka mittekuuluva mittenegatiivse täisarvu (funktsiooni nimi tulebki ingliskeelsest väljendist minimal excluded). Näiteks ja .
Magnus tutvus funktsiooni definitsiooniga ja leiutas kohe sellel põhineva mängu. Selles mängus saab mängija -elemendilise mittenegatiivsete täisarvude jada ja koostab selle põhjal jada , korrates järgmisi samme, kuni jadas on veel elemente:
- Vali positiivne täisarv , mis ei ületa jada pikkust.
- Lisa jada lõppu jada esimese elemendi .
- Kustuta jadast selle esimesed elementi.
Mängija ülesanne on valida igal sammul selline väärtus, et saadud jada oleks kõigi võimalike hulgas leksikograafiliselt maksimaalne. Tuletame meelde, et jada on jadast leksikograafiliselt suurem, kui
- leidub selline , et ja ning , , , ja või
- ja , , , .
입력
Sisendi esimesel real on jada pikkus () ja teisel real tühikutega eraldatud täisarvu: jada elemendid ().
출력
Väljundi esimesele reale väljastada leitud jada pikkus ja teisele reale tühikutega eraldatult jada elemendid .
예제
예제 1
5 1 0 2 0 3
1 4
예제 2
8 2 2 3 4 0 1 2 0
2 5 1