tir

Time limit: 0.03s Memory limit: 2MB Input: tir.in Output: tir.out

La un concurs de tir, ţinta este alcătuită din nn cercuri concentrice, numerotate din exterior către interior de la 11 la nn. Cercurile delimitează pe ţintă nn zone circulare (o zonă între cercul 11 şi cercul 22, a doua zonă între cercul 22 şi cercul 33, ş.a.m.d, o zonă între cercul n1n-1 şi cercul nn şi a nn-a zonă interiorul cercului nn).
Fiecare zonă are ataşată o valoare strict pozitivă, reprezentând numărul de puncte pe care le poate primi un concurent în cazul în care va lovi această zonă.

Cerinţă

Să se determine numărul minim de lovituri pe care trebuie să le execute un concurent pentru a obţine exact kk puncte.

Date de intrare

Fişierul de intrare tir.in are următoarea structură:

  • pe prima linie este scris numărul de cercuri (valoarea nn);
  • pe a doua linie este scris numărul de puncte ce urmează a fi obţinute de concurent (valoarea kk);
  • pe a treia linie sunt scrise cele nn valori ataşate zonelor, despărţite prin câte un spaţiu.

Date de ieșire

Fişierul de ieşire tir.out va conţine pe prima linie numărul minim de lovituri necesar pentru a obţine kk puncte, dacă problema are soluţie sau cifra 00 dacă problema nu are soluţie. Dacă problema are soluţie, pe a doua linie sunt scrise valorile asociate zonelor în care a lovit trăgătorul, pentru a obţine cele kk puncte, despărţite prin câte un spaţiu.

Restricții și precizări

  • 5n505 \leq n \leq 50
  • k1 000k \leq 1 \ 000
  • Numerele care reprezintă punctajele zonelor circulare au valori întregi cuprinse între 11 şi 1 0001 \ 000 şi nu sunt neapărat în ordine crescătoare.
  • Soluţia nu este în mod necesar unică.

Exemplul 1

tir.in

5
23
2 3 5 6 8

tir.out

4
2 5 8 8

Explicație

Ţinta este formată din 55 cercuri concentrice, care determină 55 zone având valorile 2,3,5,62, 3, 5, 6 şi 88.
Pentru a obţine 2323 de puncte, numărul minim de lovituri necesar este 44. Loviturile pot fi efectuate în mai multe moduri. O soluţie este de a trage un foc în zona de valoare 22, un foc în zona de valoare 55 şi 22 focuri în zona de valoare 88.

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