Hajrá Szentgyörgy, hajrá Sepsi!
Se dă un șir cu elemente în ordine descrescătoare și un număr natural .
Se aplică algoritmul lui Sándor pe acest șir, implementarea sa în pseudocod fiind scrisă mai jos:
Algoritmul lui Sándor
Dându-se N, G, v[1], v[2], ..., v[N]
s <- 0
pentru i <- de la 1 la N execută
dacă s + v[i] <= G atunci
s <- s + v[i]
Rezultatul aplicării algoritmului lui Sándor este valoarea variabilei la finalul execuției.
Cerință
Pentru un set de date de intrare , și ale algoritmului lui Sándor, se dă un număr (egal cu sau ). Vom considera toate modurile în care se pot elimina elemente din șirul . De exemplu, dacă avem șirul , pentru o eliminare posibilă este a elementului de pe poziția , în urma căreia obținem șirul .
Considerăm un șir cu valori, (, , \ldots, ). Valoarea lui este egală cu numărul de moduri de a elimina exact elemente din șirul pentru a obține un șir , pentru care rezultatul aplicării algoritmului lui Sándor pentru , și este egal cu .
Date de intrare
Pe prima linie a fișierului de intrare sandor.in
se găsește un număr natural , cu semnificația din enunț. Pe a doua linie se găsesc numerele naturale și , separate printr-un spațiu. Pe a treia linie se găsesc numere naturale reprezentând valorile elementelor șirului , al -lea dintre acestea fiind valoarea lui ().
Date de ieșire
În fișierul de ieșire sandor.out
se vor afișa valori , , \ldots, , separate printr-un spațiu, cu semnificația din enunț.
Restricții și precizări
- ;
- ;
- ;
- ;
- Pentru , se va elimina un element de pe poziția , cu . Două moduri de a elimina element se consideră distincte dacă pozițiile elementului eliminat în cele două moduri sunt distincte.
- Pentru , pozițiile eliminate vor fi de forma , cu . Două moduri de a elimina elemente și se consideră distincte dacă sau .
# | Scor | Restricții |
---|---|---|
1 | 6 | , . |
2 | 9 | , toate elementele șirului sunt distincte. |
3 | 16 | . |
4 | 12 | , . |
5 | 16 | , toate elementele șirului sunt distincte. |
6 | 15 | , . |
7 | 26 | . |
Exemplul 1
sandor.in
1
4 11
10 7 3 1
sandor.out
0 0 0 0 0 0 0 0 0 0 1 3
Explicație
După eliminarea unui element, poate atinge valoarea o dată și valoarea de trei ori.
Exemplul 2
sandor.in
2
4 11
10 7 3 1
sandor.out
0 0 0 0 1 0 0 0 1 0 3 1
Explicație
După eliminarea unei perechi de două numere, poate atinge valoarea o dată, valoarea o dată, valoarea de ori și valoarea o dată.
Exemplul 3
sandor.in
1
7 20
4 4 4 2 2 1 1
sandor.out
0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 2 2 0 0 0
Explicație
Observați că elementele șirului pot fi egale.