¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#2478

예쁘게 나누기 1s - MB

Problemas

-10,000 이상 10,000이하의 N개의 정수로 이뤄진 수열 A = { A1, A2, ..., AN } 이 주어졌을 때, 예쁘게 나누는 방법의 가지수를 세는 프로그램을 작성하라.

 

여기서 수열을 예쁘게 나누는 방법은 다음과 같다.

 

● 수열을 한개 이상의 연속된 묶음으로 나눠야 한다.

● 각 수열의 원소는 정확히 하나의 묶음에 속해야 한다.

● 한 묶음에 속한 모든 숫자들의 합은 0이상이어야 한다.

 

예로 들어 A = { 2, 3, -3, 1 } 일 경우 다음과 같이 총 4가지의 예쁘게 나누는 방법이 존재한다. 괄호로 묶인 부분이 하나의 연속된 묶음을 뜻한다.

1. (2 3 -3 1)

2. (2 3 -3)(1)

3. (2)(3 -3 1)

4. (2)(3 -3)(1)


Entrada

입력의 첫 줄에는 수열의 개수를 뜻하는 정수 N(1≤N≤100,000)이 입력된다.

그 다음 줄 부터 N개의 줄에는 A1, A2, ..., AN이 입력된다.


Salida

입력된 수열 A를 예쁘게 나누는 방법의 가지수를 1,000,000,009로 나눈 나머지를 출력한다.


Ejemplo

4

2
3
-3
1
4
Debes iniciar sesión para escribir código.