hihoCoder太阁最新面经算法竞赛12 register

Ended

Participants:164

Verdict:Accepted
Score:100 / 100
Submitted:2016-10-24 01:48:52

Lang:Java

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Scanner;
/**
 * Created by will on 24/10/16.
 */
public class Main {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        int[] arr = new int[n];
        for (int i = 0i < ni++)
            arr[i= cin.nextInt();
        int[] big = new int[n];
        int[] small = new int[n];
        big[0= arr[0];
        for (int i = 1i < ni++)
            big[i= Math.max(big[i-1],arr[i]);
        small[n-1= arr[n-1];
        for (int i = n-2i >= 0i--)
            small[i= Math.min(small[i+1],arr[i]);
        int left = 0;
        while (left < n-1 && small[left+1>= arr[left])
            left++;
        int right = n-1;
        while (right > 0 && big[right-1<= arr[right])
            right--;
        if (right <= left)
            System.out.println(0);
        else
            System.out.println(right-left+1);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX