아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

공연 셋리스트 조합

면접 대비

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

요약
1로 시작하고 3으로 끝나며 그 사이가 모두 2인 부분 수열의 개수를 10^9+7로 나눈 나머지를 구한다.
난이도

보통10점 중 4점

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

문제

친구 Tóti는 음악가를 꿈꾼다. 그는 곡을 nn개 썼고, 각 곡에는 11, 22, 33 중 하나의 흥분도가 매겨져 있다. 흥분도가 높을수록 곡의 에너지가 크다. Tóti는 첫 라이브 공연을 준비 중인데, 당신의 도움이 필요하다. 그는 몇 개의 셋리스트를 만들 수 있는지 알고 싶어 한다. 셋리스트는 곡을 세 곡 이상 포함하고, 첫 곡의 흥분도는 11, 마지막 곡의 흥분도는 33, 나머지 곡의 흥분도는 모두 22여야 한다. Tóti는 또한 곡을 자신이 쓴 순서대로 연주하려고 한다.

Tóti가 쓴 순서대로 각 곡의 흥분도가 주어질 때, 그가 만들 수 있는 셋리스트의 수를 구하시오.

입력

첫째 줄에 Tóti가 쓴 곡의 수 nn이 주어진다. (1≤n≤1061 \leq n \leq 10^6)

둘째 줄에 nn개의 정수가 주어지며, 각 정수는 {1,2,3}\{1, 2, 3\}에 속하고, Tóti가 쓴 순서대로 각 곡의 흥분도를 나타낸다.

출력

Tóti가 만들 수 있는 셋리스트의 수를 출력한다. 이 수는 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

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

    입력
    8
    1 2 1 2 3 1 2 3
    
    예상 출력
    15