잡아라 벌레 벌레!

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

요약
연속한 부분 배열 중에서 두 마리 이상을 골라 적힌 수의 합이 정확히 100이 되게 할 수 있는 구간의 개수를 센다.
난이도

보통10점 중 6점

유형
투 포인터, 누적 합, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

믕믕게임즈의 신작 게임 잡아라 벌레 벌레!가 성황리에 출시되었다.

잡아라 벌레 벌레!는 화면에 돌아다니는 바퀴벌레를 클릭해 처치하는 게임이다. 바퀴벌레의 몸에는 11 이상 9999 이하의 정수가 적혀 있으며, 생성된 바퀴벌레 중 22마리 이상을 클릭하여 몸에 적힌 수들의 합이 정확히 100100이 된다면 처치할 수 있다.

위와 같이 바퀴벌레를 클릭하면 처치할 수 있다.

경쟁 게임사 소속 영인이는 믕믕게임즈의 성공에 배가 아파, 게임 서버를 해킹하여 플레이하는 사람들을 골탕 먹이기로 하였다. 영인이는 해킹을 통해 게임에 순차적으로 생성되는 NN마리의 바퀴벌레에 대해, ii번째 바퀴벌레의 몸에는 A_iA\_i가 적혀 있도록 임의로 정해 놓았다.

이를 알게 된 믕믕게임즈는 사람들의 피해 정도를 조사하기 위해, 연속으로 등장하는 바퀴벌레 중 일부를 클릭해 처치 가능한 경우의 수를 구하고자 한다. 즉 임의의 (l,r)(l, r) (1≤l<r≤N)(1 \le l < r \le N) 쌍에 대해, l,l+1,⋯ ,r−1,rl, l+1, \cdots, r-1, r번째 바퀴벌레가 모두 생성되었을 때 22마리 이상을 클릭해 합이 100100이 되게 할 수 있는 모든 (l,r)(l, r) 쌍의 개수를 구하고 싶다. 그러나 믕믕게임즈는 고객들의 항의 전화를 받기 바빠 이를 구하기 어려웠고, 당신에게 도움을 요청했다.

믕믕게임즈를 도와 가능한 모든 (l,r)(l, r) 쌍의 개수를 구하여라.

입력

첫째 줄에 바퀴벌레의 수 NN이 주어진다. (1≤N≤100,000)(1 \le N \le 100\\,000)

둘째 줄에 바퀴벌레의 몸에 적힌 수 A_1,A_2,⋯ ,A_NA\_1, A\_2, \cdots, A\_N이 공백으로 구분되어 주어진다. (1≤A_i≤99)(1 \le A\_i \le 99)

입력으로 주어지는 모든 수는 정수이다.

출력

가능한 모든 (l,r)(l, r) 쌍의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    5
    10 25 50 40 25
    
    예상 출력
    3