점진적인 수열
시간 제한2초메모리 제한512 MB
연속한 두 차이가 매 단계마다 1 이하로 변하는, 길이 3 이상인 모든 부분 수열의 길이 합을 10^9+7로 나눈 나머지를 구한다.
문제
수열 이 점진적인 수열이라는 것은 수열의 길이가 이상이고, 이상 이하인 모든 정수 가 다음 세 가지 조건 중 하나를 만족한다는 뜻이다.
서로 다른 정수로 이루어진 수열 이 주어진다. 이 수열의 부분 수열이자 점진적인 수열의 길이 합을 구해보자.
입력
첫째 줄에 수열의 길이를 나타내는 정수 이 주어진다.
둘째 줄에 서로 다른 정수로 이루어진 수열 이 공백으로 구분되어 주어진다.
출력
첫째 줄에 수열 의 부분 수열이자 점진적인 수열의 길이 합을 구해 출력한다. 단 정답이 너무 커질 수 있으니, 로 나눈 나머지를 구해 출력한다.
힌트
어떤 수열의 부분 수열이라는 것은 그 수열에서 순서를 바꾸지 않고 몇 개의 원소를 제거해서 만들 수 있는 수열이다.