# PBinfo #2532 – cntcifsum – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Cerința
Se dă un număr N și un număr S. Să se determine câte numere de N cifre au suma cifrelor S.

Date de intrare
Programul citește de la tastatură numerele N și S.

Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de numere de N cifre având suma cifrelor S modulo 666013.

Restricții și precizări

1 ≤ N ≤ 1000
1 ≤ S ≤ 9 * N

Exemplu:
Intrare

2 3
Ieșire

3

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
#define Nmax 1005
#define md 666013
using namespace std;
int dp[Nmax][9 * Nmax];
int N, S;
int main()
{
    cin >> N >> S;
    for(int i = 1; i <= 9; i++)
        dp[1][i] = 1;
    for(int i = 2; i <= N; i++)
        for(int j = 1; j <= min(9 * i, S); j++)
            dp[i][j] = (dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][max(j - 10, 0)] + md) % md;
    cout << dp[N][S] << "\n";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2532)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2532/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2532/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
