sliniare

Time limit: 0.13s Memory limit: 64MB Input: Output:

Se dă un vector VV de NN elemente din mulțimea {0,1}\{0, 1\}. O subsecvență se numește liniară dacă egalitatea aUZ=baU - Z = b este adevărată, unde UU și ZZ reprezintă numărul de elemente egale cu 11 din subsecvență, respectiv numărul de elemente egale cu 00 din subsecvență, iar aa și bb sunt numere naturale date.

Cerință

Să se determine numărul de subsecvențe liniare din vectorul VV.

Date de intrare

Pe prima linie se găsesc NN, aa și bb separate printr-un spațiu. Pe următoarea linie se găsesc NN numere naturale, separate printr-un spațiu, reprezentând elementele vectorului VV.

Date de ieșire

Pe prima linie se va găsi un număr natural, reprezentând numărul de subsecvențe liniare din vectorul VV.

Restricții și precizări

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1a10 0001 \leq a \leq 10 \ 000
  • 1b1 000 000 0001 \leq b \leq 1 \ 000 \ 000 \ 000
    # Punctaj Restricții
    0 0 Exemplele
    1 11 N100N \leq 100
    2 13 N2 000N \leq 2 \ 000
    3 17 Toate valorile din vectorul VV sunt egale cu 11
    4 59 Fără alte restricții suplimentare

Exemplul 1

stdin

9 1 3
1 0 1 1 1 0 0 1 1

stdout

4

Explicație

Secvențele liniare sunt [1,0,1,1,1][1, 0, 1, 1, 1], [1,1,1][1, 1, 1], [1,1,1,0,0,1,1][1, 1, 1, 0, 0, 1, 1] și [1,0,1,1,1,0,0,1,1][1, 0, 1, 1, 1, 0, 0, 1, 1].

Exemplul 2

stdin

9 3 8
1 1 1 0 1 0 0 0 1

stdout

4

Explicație

Secvențele liniare sunt [1,1,1,0][1, 1, 1, 0], [1,1,0,1][1, 1, 0, 1], [1,1,1,0,1,0,0,0][1, 1, 1, 0, 1, 0, 0, 0] și [1,1,0,1,0,0,0,1][1, 1, 0, 1, 0, 0, 0, 1].

Exemplul 3

stdin

5 2 5
1 0 0 1 1

stdout

0

Explicație

Nu există nicio secvență liniară.

Log in or sign up to be able to send submissions!