Logo
(追記) (追記ここまで)

26699번 - Mopadulo 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
6 초 1024 MB222100.000%

문제

Liczby mopadulop to liczby, których reszta z dzielenia przez p jest parzysta. Nie znamy innych dużych liczb pierwszych niż 109 + 7, dlatego będziemy zajmować się tylko liczbami mopadulo1 000 000 007.

Policz, na ile sposobów można podzielić zadany ciąg liczb a1, a2, . . . , an na przedziały, tak aby suma liczb w każdym z nich była liczbą mopadulo1 000 000 007. W takim podziale każdy element ciągu musi należeć do dokładnie jednego przedziału. Jako że liczba takich podziałów może być bardzo duża, to wystarczy, że podasz jej resztę z dzielenia przez (jakżeby inaczej) 109 + 7.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 ≤ n ≤ 300 000), oznaczająca długość zadanego ciągu.

W drugim wierszu wejścia znajduje się ciąg n liczb całkowitych a1, a2, . . . , an (0 ≤ ai < 109 + 7).

출력

Na wyjściu powinna znaleźć się jedna liczba całkowita, oznaczająca resztę z dzielenia liczby poprawnych podziałów ciągu a1, a2, . . . , an przez 109 + 7.

제한

예제 입력 1

4
1000000006 1 5 1000000004

예제 출력 1

3

힌트

Wyjaśnienie przykładu: Poprawne podziały na przedziały to:

  • [1000000006, 1, 5, 1000000004]
  • [1000000006, 1], [5, 1000000004]
  • [1000000006], [1, 5], [1000000004]

출처

Contest > Algorithmic Engagements > PA 2021 3-1번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /