Atenție! Aceasta este o versiune veche a paginii., scrisă la 2018-04-09 12:12:05.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire shopping.in, shopping.out Sursă Concurs Shumen juniori 2017
Autor autor necunoscut Adăugată de avatar spatarel Spatarel Dan-Constantin spatarel
Timp de execuție pe test 3 sec Limită de memorie 32768 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Shopping

Ieri a fost ziua de naștere a lui Deni și a primit o mulțime de cadouri de la mai mulți prieteni. Se poate considera că datorită cadourilor ea are un număr nelimitat de produse care sunt de asemenea disponibile si la Mall. Deni decide să vândă o parte dintre ele pentru a obține bani. Cu acești bani ea va merge la cumpărături in Mall cu prietenii, dar va cumpăra numai produse diferite de cele pe care le-a vândut. Deni vrea sa obțină o anumită sumă de bani in final. ( Dacă aceasta se poate realiza doar vânzând o parte dintre cadouri, atunci ea va amâna cumpărăturile pentru altă dată. Deoarece are o mulțime de produse de diferite prețuri, îi este greu sa decidă ce tipuri de produse să vândă si ce tipuri să cumpere, asa incat la final va avea suma de bani pe care si-o doreste.

Presupunem că există k produse in magazin, care au prețurile a1,a2, a3,.....,ak leva (moneda Bulgara), respectiv că fata dorește să ramână la final cu exact n leve. Trebuie sa afișați de câte ori ea trebuie sa cumpere sau să vânda fiecare tip de produs (cumpărarea este marcată ca număr negativ si vânzarea ca număr pozitiv ), astfel încât Deni să obțină in final n leva. Programul vostru va rezolva t teste la o rulare. Deoarece numere din output pot fi foarte mari, fiecare număr va fi afișat ca produs a cel mult 100 de numere. Dacă există mai multe soluții, veți afișa oricare din ele. Dacă nu există soluție, veți printa textul „No solutions“ (fără ghilimele).

Date de intrare

Fișierul de intrare shopping.in conține pe prima linie este un singur număr t care reprezintă numărul de teste pe care îl va procesa programul. Fiecare test este descris pe 3 linii. Prima linie va conține numărul natural, k, a doua linie va conține numere naturale a1,a2, a3,.....,ak reprezentând prețurile tipurilor de produse din Mall. A treia linie conține numărul natural n – câți leva dorește să obțină Deni la final.

Date de ieșire

În fișierul de ieșire shopping.out se va afișa texul „No solutions“ (fără ghilimele) dacă problema nu are soluție, sau, în cazul în care problema are soluție : k numere întregi ( fiecare dintre acestea trebuie să fie afișate sub forma num1 * num2 ... nump)care descriu de câte ori Dani a cumpărat sau a vândut un produs(dacă numărul este negativ atunci ea a cumpărat acel tip de produs iar dacă este pozitiv atunci l-a vândut).

Restricții

  • 1 ≤ t ≤ 2
  • 2 ≤ k ≤ 100000
  • 1 ≤ a1,a2, a3,.....,ak ≤ 1018
  • 1 ≤ n ≤ 1018
  • 1 ≤ p ≤ 100
  • -109 ≤ num1 ≤ 109
  • 0 ≤ numi ≤ 109
  • 2 ≤ i ≤ p
Subtask Puncte k
1
10
k = 2
10
1 3 7 4 6 8 10 14 2 6
5
Cea mai lungă subsecvență crescătoare este lungime cinci (4 6 8 10 14).