51,116
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
public class Main {
static int mod = 1000000007;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n + 1];
for (int i = 1; i <= n; i++) a[i] = sc.nextInt();
int[] f = new int[n + 1];
f[0] = 1;
for (int i = 1; i <= n; i++) {
int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE;
for (int j = i; j > 0; j--) {
max = Math.max(max, a[j]);
min = Math.min(min, a[j]);
if (max - min == i - j)
f[i] = (f[i] + f[j - 1]) % mod;
}
}
System.out.println(f[n]);
}
}