MedieC++17

Plata în mai multe moduri

Cerință

Ai monede cu valori distincte și un număr nelimitat de monede din fiecare valoare. Numără modurile de a obține suma s. Două moduri diferă prin cantitatea folosită din cel puțin o valoare; ordinea monedelor nu contează.

Date de intrare

Se citesc n și s, apoi cele n valori distincte ale monedelor.

Date de ieșire

Afișează numărul modurilor modulo 1 000 000 007. Pentru s=0 există un singur mod: nu folosești monede.

Restricții

1 ≤ n ≤ 30; 0 ≤ s ≤ 1000; 1 ≤ valori ≤ 1000.

Observații

Selecție Algo25 pentru pregătirea interviurilor: programare dinamică.

Reper tematic pentru pregătire: https://www.hackerrank.com/interview/interview-preparation-kit

Exemple

2 EXEMPLE

Exemplul 1

Exemplul 1 pentru „Plata în mai multe moduri”. Poți refolosi o valoare de monedă. Cerința cere fie numărul minim de monede, fie numărul de combinații.Exemplul 1, reprezentat vizual. Poți refolosi o valoare de monedă. Cerința cere fie numărul minim de monede, fie numărul de combinații.Mărește schema ↗

Date de intrare

3 6
1 3 4

Date de ieșire

4

Exemplul 2

Date de intrare

1 3
2

Date de ieșire

0
UN MIC IMPULS

Ai nevoie de un indiciu?

Descoperă doar cât îți trebuie. Indiciile nu scad punctajul.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Se verifică autentificarea…

Deschide atelierul cu sugestii și teste locale în 4 limbaje →

Un pas, apoi următorul.Înapoi sus ↑