Pael | 프로그래밍의 벗 PivotOJ
PivotOJ

Pael

시간 제한: 1000ms메모리 제한: 1024MB출처: EIO 2020-21 prelimBOJ 29898

문제

Jõuluvana kingivabrikus pakitakse korraga suur hulk kingitusi. Pakkimispaela lõikamiseks on seal suur masin, mis töötab järgmiselt:

  • NN päkapikku võtavad näppudega pikast paelast kinni, kusjuures igaüks hoiab ainult ühest kohast, iga hoidmiskoha kaugus paela algusest on täisarv sentimeetreid ja kõik päkapikud hoiavad erinevatest kohtadest.
  • Masin lõikab paela katki täpselt iga kahe kõrvutioleva kinnihoidmiskoha vahelise lõigu keskelt, tehes kokku N1N-1 lõiget. Päkapikud hoiavad paela nii, et lõikekohad on samuti paela algusest täisarvulisel kaugusel.
  • Tulemusena on igal päkapikul paelajupp, millega ta läheb järgmist kingitust pakkima.

Pakkeosakonna juht, ülempäkapikk Ariwor jälgib tööd, kuid äkki tundub talle, et pakkepäkapikkude järjekord oleks nagu segi läinud. Et seda kontrollida, kutsub ta nad kõik järjekorras enda juurde ja mõõdab ära, kui pikk pael kellelgi oli.

Aita Ariworil kindlaks teha, kas masinaga eeltoodud algoritmi järgides oli võimalik saada sellise pikkusega paelad sellises järjekorras.

입력

Sisendi esimesel real on pakkepäkapikkude arv NN (1N2000001 \le N \le 200\,000).

Teisel real on NN tühikutega eraldatud täisarvu: vastava päkapiku paela pikkus PiP_i (1Pi10000001 \le P_i \le 1\,000\,000).

출력

Kui selline paelapikkuste järjekord pole tegelikult võimalik, kirjutada väljundi ainsale reale sõna EI.

Kui selline paelapikkuste järjekord on võimalik, kirjutada väljundisse NN täisarvu: kaugused esialgse paela algusest, mis näitavad, millisest kohast iga päkapikk võis paelast kinni hoida. Kaugused väljastada kasvavas järjekorras. Kui võimalusi on mitu, väljastada ükskõik milline neist.

예제

예제 1

입력
3
2 5 4
출력
0 4 10

예제 2

입력
3
2 5 2
출력
EI
코드를 제출하려면 로그인하세요.