만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

0과 1 탐구

면접 대비

시간 제한0.5초메모리 제한1024 MB

요약
이진 배열에서 1의 개수가 홀수인 연속 부분 배열의 개수를 구합니다. N은 최대 10^5입니다.
난이도

쉬움10점 중 3점

유형
누적 합, 수학
정답자
아직 제출이 없습니다

문제

신비로운 이진 세계에 들어와 있습니다. 이곳에는 NN개의 이진수로 이루어진 배열이 여러분의 조사를 기다리고 있습니다. 각 숫자는 0 또는 1이며, 이들이 모여 독특한 패턴을 만듭니다. 여러분의 임무는 1의 개수가 홀수인 부분 배열의 개수를 구하는 것입니다.

배열은 b1,b2,…,bNb_1, b_2, \ldots, b_N입니다. 부분 배열은 연속된 원소로 이루어진 구간입니다. 예를 들어 [b1,b2,b3][b_1, b_2, b_3]의 부분 배열은 [b1][b_1], [b2][b_2], [b3][b_3], [b1,b2][b_1, b_2], [b2,b3][b_2, b_3], [b1,b2,b3][b_1, b_2, b_3]입니다. 1의 개수가 홀수인 부분 배열의 개수를 구하세요. 답은 32비트 정수 범위를 넘을 수 있습니다.

입력

첫째 줄에 이진 수열의 길이 NN(1≤N≤1051 \le N \le 10^5)이 주어집니다.

둘째 줄에 NN개의 이진수 b1,b2,…,bNb_1, b_2, \ldots, b_N(bi∈{0,1}b_i \in \{0, 1\})이 주어집니다.

출력

1의 개수가 홀수인 부분 배열의 개수를 한 줄에 출력합니다.

예제2

  1. 예제 1

    입력
    3
    0 1 0
    
    예상 출력
    4
    
  2. 예제 2

    입력
    10
    1 0 0 1 1 0 1 1 1 0
    
    예상 출력
    30