suma

Time limit: 0.05s Memory limit: 4MB Input: suma.in Output: suma.out

Fie şirul tuturor numerelor naturale de la 11 la un număr oarecare NN. Considerând asociate câte un semn (++ sau -) fiecărui număr şi adunând toate aceste numere cu semn se obţine o sumă SS.

Problema constă în a determina pentru o sumă dată SS, numărul minim NN pentru care, printr-o asociere de semne tuturor numerelor de la 11 la NN, se poate obţine SS.

Cerință

Pentru un SS dat, găsiţi valoarea minimă NN şi asocierea de semne numerelor de la 11 la NN pentru a obţine SS în condiţiile problemei.

Date de intrare

În fişierul suma.in se va afla pe prima linie un întreg pozitiv SS reprezentând suma ce trebuie obţinută.

Date de ieșire

În fişierul suma.out se va scrie, pe prima linie numărul minim NN pentru care se poate obţine suma SS iar pe următoarele linii, până la sfârşitul fişierului, numerele care au semn negativ, câte unul pe linie. Ordinea de afişare a numerelor nu are importanţă.

Celelalte numere care nu apar în fişier se consideră pozitive. Dacă există mai multe soluţii se cere doar una.

Restricții și precizări

  • 0<S100 0000 < S \leq 100 \ 000

Exemplu

suma.in

12

suma.out

7
1
7

Explicație

Deci suma 1212 se poate obţine din minimum 77 termeni astfel: 12=1 +2+3+4+5+6 712 = -1 \ +2+3+4+5+6 \ -7. Atenţie: nu este singura posibiliatate de asociere de semne termenilor de la 11 la 77.

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