adunscad

Time limit: 0.2s Memory limit: 4MB Input: adunscad.in Output: adunscad.out

Considerăm un număr întreg NN și un șir de MM cifre zecimale nenule. Să se determine dacă numărul NN poate fi rezultatul unei expresii aritmetice simple (fără paranteze), formată exclusiv din cifrele șirului citit și din operatorii aritmetici desemnați pentru operațiile de adunare și scădere (+,+, -).

Cerință

Scrieți un program care citește numerele NN și MM de pe prima linie a fișierului de intrare și șirul de MM cifre de pe linia următoare și determină și afișează expresia găsită sau valoarea 0 în cazul în care nu există soluție.

Date de intrare

Fișierul de intrare adunscad.in conține pe prima linie numerele întregi N MN \ M, separate printr-un spațiu, reprezentând valoarea ce trebuie obținută la evaluarea expresiei și numărul de cifre din șir. Linia a doua a fișierului de intrare conține șirul celor MM cifre nenule, separate prin câte un spațiu.

Date de ieșire

În fișierul de ieșire adunscad.out va conține pe prima linie expresia determinată, în cazul în care există soluție, sau valoarea 00 în cazul în care nu există soluție.

Restricții și precizări

  • 180N180-180 \leq N \leq 180;
  • 2M202 \leq M \leq 20;
  • În șirul citit cifrele se pot repeta.
  • Toate cifrele din șir trebuie să apară și în expresia aritmetică, în aceeași ordine în care au fost citite.
  • În expresia aritmetică, orice cifră trebuie să fie precedată de un operator; în cazul în care prima cifră este precedată de operatorul + acesta nu se pune în expresie. În expresia aritmetică nu există spații.
  • În cazul în care soluția nu este unică se va afișa o soluție corectă.

Exemplul 1

adunscad.in

21 4
3 9 1 8

adunscad.out

3+9+1+8

Exemplul 2

adunscad.in

-1 4
1 2 3 5

adunscad.out

-1+2+3-5

Exemplul 3

adunscad.in

-7 7
1 1 1 1 1 1 1

adunscad.out

-1-1-1-1-1-1-1

Exemplul 4

adunscad.in

12 3
1 2 3

adunscad.out

0

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