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

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

모든 부분 수열

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

요약
수열 A의 모든 부분수열에 대해 인접한 원소 차이의 곱의 절댓값을 모두 더해 998244353으로 나눈 나머지를 구한다.
난이도

어려움10점 중 9점

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

문제

정수 수열 A1..NA_{1..N}이 주어진다. AA의 부분 수열 B1..MB_{1..M}은 AA에서 0개 이상의 원소를 제거해 얻을 수 있는 수열이다. 예를 들어 B1..3={2,3,6}B_{1..3} = \{2, 3, 6\}은 A1..6={1,2,3,4,5,6}A_{1..6} = \{1, 2, 3, 4, 5, 6\}에서 A1,A4,A5A_1, A_4, A_5를 제거해 얻을 수 있는 부분 수열이다. 두 부분 수열은 AA에서 제거한 인덱스의 집합이 다르면 서로 다른 것으로 본다.

부분 수열 B1..MB_{1..M}의 점수 f(B1..M)f(B_{1..M})은 M≥2M \ge 2일 때 ∣(B1−B2)×(B2−B3)×⋯×(BM−1−BM)∣|(B_1 - B_2) \times (B_2 - B_3) \times \cdots \times (B_{M-1} - B_M)|이고, M<2M < 2일 때 0이다.

AA의 모든 부분 수열의 점수의 합을 구해 998 244 353으로 나눈 나머지를 출력하라.

예를 들어 A1..4={1,3,3,7}A_{1..4} = \{1, 3, 3, 7\}이라 하자. 길이가 2 이상인 부분 수열은 11개이다. 나머지 5개는 길이가 2 미만이므로 점수가 0이다.

  • B1..2=A1,2={1,3}B_{1..2} = A_{1,2} = \{1, 3\} → f(B)=∣−2∣=2f(B) = |-2| = 2.
  • B1..2=A1,3={1,3}B_{1..2} = A_{1,3} = \{1, 3\} → f(B)=∣−2∣=2f(B) = |-2| = 2.
  • B1..2=A1,4={1,7}B_{1..2} = A_{1,4} = \{1, 7\} → f(B)=∣−6∣=6f(B) = |-6| = 6.
  • B1..2=A2,3={3,3}B_{1..2} = A_{2,3} = \{3, 3\} → f(B)=∣0∣=0f(B) = |0| = 0.
  • B1..2=A2,4={3,7}B_{1..2} = A_{2,4} = \{3, 7\} → f(B)=∣−4∣=4f(B) = |-4| = 4.
  • B1..2=A3,4={3,7}B_{1..2} = A_{3,4} = \{3, 7\} → f(B)=∣−4∣=4f(B) = |-4| = 4.
  • B1..3=A1,2,3={1,3,3}B_{1..3} = A_{1,2,3} = \{1, 3, 3\} → f(B)=∣−2×0∣=0f(B) = |-2 \times 0| = 0.
  • B1..3=A1,2,4={1,3,7}B_{1..3} = A_{1,2,4} = \{1, 3, 7\} → f(B)=∣−2×−4∣=8f(B) = |-2 \times -4| = 8.
  • B1..3=A1,3,4={1,3,7}B_{1..3} = A_{1,3,4} = \{1, 3, 7\} → f(B)=∣−2×−4∣=8f(B) = |-2 \times -4| = 8.
  • B1..3=A2,3,4={3,3,7}B_{1..3} = A_{2,3,4} = \{3, 3, 7\} → f(B)=∣0×−4∣=0f(B) = |0 \times -4| = 0.
  • B1..4=A1,2,3,4={1,3,3,7}B_{1..4} = A_{1,2,3,4} = \{1, 3, 3, 7\} → f(B)=∣−2×0×−4∣=0f(B) = |-2 \times 0 \times -4| = 0.

이 점수들의 합은 2+2+6+0+4+4+0+8+8+0+0=342 + 2 + 6 + 0 + 4 + 4 + 0 + 8 + 8 + 0 + 0 = 34이다.

입력

첫째 줄에 수열 AA의 정수 개수 NN이 주어진다. (1≤N≤100 0001 \le N \le 100\,000)

둘째 줄에 수열 AA를 이루는 NN개의 정수 AiA_i가 주어진다. (0≤Ai≤1090 \le A_i \le 10^9)

출력

AA의 모든 부분 수열의 점수의 합을 998 244 353으로 나눈 나머지를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 3 3 7
    
    예상 출력
    34
    
  2. 예제 2

    입력
    10
    13 5 1 30 73 16 5 1 30 59
    
    예상 출력
    683367406