만드는 중입니다

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

지워진 최댓값

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

요약
순열이 주어질 때, 두 구간을 지우는 모든 경우에 대해 남은 원소의 최댓값을 구하여 모두 더합니다. 답은 10^9+7로 나눈 나머지입니다.
난이도

보통10점 중 7점

유형
배열, 스택, 누적 합
정답자
아직 제출이 없습니다

문제

길이가 NN인 순열 AA가 주어진다. 1≤i≤j<k≤l≤N1 \le i \le j < k \le l \le N을 만족하는 모든 (i,j,k,l)(i, j, k, l)에 대해, AA에서 [i,j][i, j] 구간과 [k,l][k, l] 구간을 삭제한다. 그다음 남은 원소의 최댓값을 구한다. 가능한 모든 (i,j,k,l)(i, j, k, l)에 대해 이 최댓값들의 합을 구하여라. 빈 배열의 최댓값은 00으로 가정한다.

입력

첫 번째 줄에 NN이 주어진다. (3≤N≤105)(3 \le N \le 10^5)

두 번째 줄에 순열 AA를 이루는 정수 NN개가 공백으로 구분되어 주어진다. (1≤Ai≤N(1 \le A_i \le N; 모든 AiA_i는 서로 다르다.))

출력

답을 109+710^9+7로 나눈 나머지를 출력한다.

힌트

AA의 [s,e][s, e] 구간은 As,As+1,⋯ ,AeA_s, A_{s+1}, \cdots, A_e를 의미한다.

예제1

  1. 예제 1

    입력
    4
    4 2 3 1
    
    예상 출력
    35