urat

Time limit: 0.1s Memory limit: 64MB Input: urat.in Output: urat.out

Avem la dispoziţie nn scânduri de înălţimi 11, 22, 33, ..., nn. Vrem să construim un gard aşezând scândurile una lângă alta într-o ordine întâmplătoare. De exemplu, dacă n=3n=3, putem să construim gardul în 66 moduri:

Pentru orice tip de gard se calculează diferenţele în valoare absolută dintre înălţimile oricăror două scânduri vecine din gard. Suma acestor diferenţe se numeşte gradul de urâţenie al gardului. În exemplul anterior, pentru n=3n=3, se observă că gardurile au în 44 cazuri gradul de urâţenie egal cu 33 şi în 22 cazuri au gradul de urâţenie egal cu 22.

Cerință

Cunoscând numărul nn de scânduri, realizaţi un program care:

  • calculează gradul maxim de urâţenie pe care îl poate avea un gard de nn scânduri;
  • calculează restul modulo 543 217543\ 217 al numărului de garduri cu grad maxim de urâţenie care se pot construi cu cele nn scânduri;
  • determină un gard cu grad maxim de urâţenie format din nn scânduri, sub forma unei permutări de ordin nn.

Date de intrare

Fişierul urat.in conţine pe prima linie numărul natural nn reprezentând numărul de scânduri.

Date de ieșire

Fişierul urat.out va conţine trei linii:

  • pe prima linie se va scrie un număr natural reprezentând gradul maxim de urâţenie al unui gard format din nn scânduri;
  • pe a doua linie se va scrie un număr natural reprezentând restul modulo 543 217543\ 217 al numărului de garduri cu grad maxim de urâţenie care se pot construi folosind cele nn scânduri;
  • pe a treia linie se vor scrie nn numere naturale, oricare două consecutive separate prin câte un spaţiu, reprezentând, în ordine de la stânga spre dreapta, înălţimile scândurilor dintr-un gard cu grad maxim de urâţenie format cu cele nn scânduri.

Restricții și precizări

  • 1<n500 0001 \lt n \le 500\ 000
  • Pentru prima cerinţă se acordă 20%20\% din punctaj, pentru a doua 60%60\% iar pentru a treia 20%20\%.

Exemplu

urat.in

3

urat.out

3
4
1 3 2

Explicație

Gradul maxim de urâţenie este 33.
Există 44 tipuri de garduri cu grad maxim de urâţenie dintre cele 66 cazuri posibile — vezi figura de mai sus.
Unul dintre gardurile de urâţenie maximă foloseşte, de la stânga la dreapta, scândurile de înălțimi 11, 33, 22 — vezi al doilea gard din figură.

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