Zadanie
Komplikovaná rekonštrukcia permutácie
Počet bodov: 70
Daná je postupnosť a1,a2,… celých čísel, inverzia je dvojica indexov i,j taká, že i<j ale ai>aj.
Permutácia rádu n je postupnosť p1,…,pn ktorá obsahuje každé číslo medzi 1 a n práve raz.
Daná je permutácia p a kladné celé číslo k, definujeme novú postupnosť q1,…,qn−k+1 nasledovne: pre každé i, nech qi je počet inverzií v postupnosťi pi,pi+1,…,pi+k−1.
Na príklad, nech p=(3,1,2,5,4) a k=3. Potom:
- q1=inverzie(3,1,2)=2
- q2=inverzie(1,2,5)=0
- q3=inverzie(2,5,4)=1
Úloha
Na vstupe sú hodnoty n, k, postupnosť q, so zárukou, že pre dané dáta existuje aspoň jedna permutácia p z ktorej vznikne postupnosť q. Zrekonštruujte ľubovolnú takú permutáciu.
Vstup a výstup
Prvý riadok obsahuje čísla n a k.
Na druhom riadku sú hodnoty q1,…,qn−k+1.
Vypíšte jeden riadok s n medzerou oddeleními číslami: permutáciou p.
Obmedzenia
Podúloha 1 (5 bodov):2≤n≤5,k=2.
Podúloha 2 (10 bodov):2≤n≤5,2≤k≤n.
Podúloha 3 (10 bodov):2≤n≤1000,k=2.
Podúloha 4 (30 bodov):5≤n≤1000,2≤k≤6.
Podúloha 5 (10 bodov):2≤n≤100000,k=2.
Podúloha 6 (30 bodov):2≤n≤100000,2≤k≤6.
Podúloha 7 (5 bodov):2≤n≤200000,2≤k≤9.
Príklad
Input:
5 3
2 0 1
Output:
3 1 2 5 4
Toto je príklad ukázaný v zadaní.
Pre odovzdávanie sa musíš prihlásiť.