Dovleci

Time limit: 0.35s Memory limit: 64MB Input: Output:

Vlad și Andrei vor să decoreze grădina în spiritul Halloween-ului și au la dispoziție o grămadă de dovleci sculptați! Ei ar vrea să facă un perete de N1N-1 turnuri de dovleci și pentru stabilitatea aranjamentului ei au la dispoziție NN pari de lemn cu înălțimi distincte de la 11 la NN.

Dovlecii se așază între pari, unul deasupra celuilalt, formând turnuri. Un turn de dovleci de înălțime DD este stabil dacă și numai dacă atât în stânga, cât și în dreapta sa, (dar nu neapărat imediat adiacent) se află cel puțin un par de înălțime mai mare sau egală cu DD. Deoarece au comandat un număr puțin cam mare de dovleci, Vlad și Andrei ar vrea să facă aranjamentul folosind cât mai mulți dovleci cu putință, urmând ca din restul să facă plăcinte.

Din păcate, ei mai trebuie să respecte și următoarea regulă atunci când așază parii: numărul de perechi de pari diferiți pentru care parul mai înalt este așezat înaintea parului mai mic trebuie să fie exact KK. O astfel de situație se numește o inversiune.

Cerință

Pentru 50%50\% din punctaj, se cere să se determine corect doar numărul maxim de dovleci ce pot fi folosiți astfel încât așezarea celor NN pari să aibă exact KK inversiuni. Adițional, pentru punctajul maxim, se cere să se afișeze o astfel de așezare a parilor.

Date de intrare

Intrarea constă dintr-o singură linie ce conține 2 întregi reprezentând NN și KK.

Date de ieșire

Afișați pe prima linie a ieșirii un singur număr întreg reprezentând numărul maxim de dovleci ce poate fi folosit în aranjament.

Pentru a obține punctajul complet, pe a doua linie a ieșirii afișați NN numere separate prin spații reprezentând un model de aranjament al parilor cu KK inversiuni care ține număr maxim de dovleci.

Restricții și precizări

  • 2N100 0002 \leq N \leq 100\ 000
  • 0KN×(N1)20 \leq K \leq \frac{N\times (N-1)}{2}
  • Dacă există mai multe aranjamente ce corespund, se poate afișa oricare.
# Punctaj Restricții
1 14 K=N2K = N - 2
2 15 N2KN×(N1)2(N2) N - 2 \leq K \leq \frac{N \times (N-1)}{2} - (N - 2)
3 19 2N62 \leq N \leq 6
4 12 2N1002 \leq N \leq 100
5 17 2N1 0002 \leq N \leq 1\ 000
6 23 Fără restricții adiționale.

Exemplul 1

stdin

3 1

stdout

4
2 1 3

Exemplul 2

stdin

3 0

stdout

3
1 2 3

Exemplul 3

stdin

3 3

stdout

4
3 2 1

Explicații pentru exemple

Log in or sign up to be able to send submissions!