Un șir se numește bun dacă suma elementelor este egală cu numărul elementelor. Mai exact, un șir
se numește bun dacă .
Subsecvența a unui șir este șirul format din valorile în această ordine.
Cerință
Se dă , și un șir de numere naturale. Răspunde la următoarele 3 cerințe:
- Dacă , trebuie să afișezi
DA
dacă șirul este bun șiNU
altfel. - Dacă , trebuie să afișezi un șir cu proprietatea că numărul de subsecvențe bune din este cât de mare posibil. (Observați că șirul nu are nicio legătură cu această cerință)
- Dacă , trebuie să afișezi numărul de subsecvențe bune ale șirului .
Date de intrare
Pe prima linie a fișierului de intrare bun.in
se află numărul . Pe a doua linie se află numărul . Pe a treia linie se află șirul .
Date de ieșire
Să se afișeze pe prima linie din fișierul bun.out
răspunsul la cerința corespunzătoare.
Restricții și precizări
- (!!!)
# | Puntaj | Restricții |
---|---|---|
1 | 20 | |
2 | 20 | |
3 | 20 | , |
4 | 20 | , pentru fiecare de la la |
5 | 20 | , |
Exemplul 1
bun.in
1
6
0 1 2 0 3 0
bun.out
DA
Explicație
În primul exemplu, avem , deci șirul este bun.
Exemplul 2
bun.in
1
2
0 1
bun.out
NU
Explicație
În al doilea exemplu, avem , deci șirul nu este bun.
Exemplul 3
bun.in
2
2
2 3
bun.out
1 1
Explicație
În al treilea exemplu, putem forma șirul care are 3 subsecvențe bune.
Exemplul 4
bun.in
3
8
1 1 2 0 0 0 1 3
bun.out
11
Explicație
În ultimul exemplu, avem 11 subsecvențe bune. Acestea sunt ; ; ; ; ; ; ; ; ; ;