만드는 중입니다

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

김의 여정

면접 대비

시간 제한3초메모리 제한2048 MB

요약
모든 연속된 세 수의 합이 짝수인 길이 3 이상의 부분수열 개수를 998244353으로 나눈 나머지로 구합니다.
난이도

보통10점 중 4점

유형
동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

잊힌 지 오래된 콤비나토리아 학원의 옛 홀에서, 재능 있는 수학자 김이 특이한 과제에 맞닥뜨린다. 김은 정수로 이루어진 오래된 수열을 발견했다. 이 수열은 전설적인 콤비나토리아의 신탁이 남긴 암호문으로 여겨지며, 김은 그 숨은 뜻을 풀고자 한다.

김의 임무는 수열 안에서 조화 부분수열이라 불리는 특정 패턴을 찾는 것이다. 조화 부분수열은 연속한 세 수의 합이 모두 짝수이고, 길이가 3 이상인 부분수열이다.

길이가 nn인 수열 aia_i (1≤i≤n1 \le i \le n)가 주어진다. 길이가 mm인 부분수열은 ab1,ab2,…,abma_{b_1}, a_{b_2}, \ldots, a_{b_m}이며, 1≤b1<b2<…<bm≤n1 \le b_1 < b_2 < \ldots < b_m \le n을 만족하는 mm개의 인덱스 집합으로 정해진다. 인덱스 집합이 다르면 서로 다른 부분수열로 본다.

이러한 부분수열의 개수는 매우 많을 수 있다. 김은 조화 부분수열의 총 개수를 998 244 353998\,244\,353으로 나눈 나머지를 보고해야 한다.

입력

첫 번째 줄에 수열의 길이를 나타내는 정수 nn이 주어진다 (3≤n≤2⋅1053 \le n \le 2 \cdot 10^5).

두 번째 줄에는 수열의 원소인 정수 aia_i가 공백으로 구분되어 nn개 주어진다 (1≤ai≤2⋅1051 \le a_i \le 2 \cdot 10^5).

출력

조화 부분수열의 개수를 998 244 353998\,244\,353으로 나눈 나머지를 한 줄에 출력한다.

힌트

문제 설명의 다섯 번째 예시는 보기 편하도록 수열을 세 줄로 나누어 적었지만, 실제 테스트 데이터에서는 한 줄로 주어진다. 이 예시의 조화 부분수열 실제 개수는 4 991 221 765=5×998 244 3534\,991\,221\,765 = 5 \times 998\,244\,353이므로, 998 244 353998\,244\,353으로 나눈 나머지는 0이다.

예제5

  1. 예제 1

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

    입력
    5
    2 8 2 6 4
    
    예상 출력
    16
    
  3. 예제 3

    입력
    5
    5 7 1 3 5
    
    예상 출력
    0
    
  4. 예제 4

    입력
    11
    3 1 4 1 5 9 2 6 5 3 6
    
    예상 출력
    386
    
  5. 예제 5

    입력
    54
    2 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 1 2 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 2 1 2 1 1
    
    예상 출력
    0