La un concurs de tir, ţinta este alcătuită din cercuri concentrice, numerotate din exterior către interior de la la . Cercurile delimitează pe ţintă zone circulare (o zonă între cercul şi cercul , a doua zonă între cercul şi cercul , ş.a.m.d, o zonă între cercul şi cercul şi a -a zonă interiorul cercului ).
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 puncte.
Date de intrare
Fişierul de intrare tir.in
are următoarea structură:
- pe prima linie este scris numărul de cercuri (valoarea );
- pe a doua linie este scris numărul de puncte ce urmează a fi obţinute de concurent (valoarea );
- pe a treia linie sunt scrise cele 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 puncte, dacă problema are soluţie sau cifra 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 puncte, despărţite prin câte un spaţiu.
Restricții și precizări
- Numerele care reprezintă punctajele zonelor circulare au valori întregi cuprinse între şi ş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 cercuri concentrice, care determină zone având valorile şi .
Pentru a obţine de puncte, numărul minim de lovituri necesar este . Loviturile pot fi efectuate în mai multe moduri. O soluţie este de a trage un foc în zona de valoare , un foc în zona de valoare şi focuri în zona de valoare .