Problem:
Score : 400 points

Problem Statement

One day, Snuke was given a permutation of length N, a_1, a_2, ..., a_N, from his friend.

Find the following:

Constraints

1 ≦ N ≦ 200,000

(a_1, a_2, ..., a_N) is a permutation of (1, 2, ..., N).

Input

The input is given from Standard Input in the following format:

N
a_1 a_2 ... a_N

Output

Print the answer.

Note that the answer may not fit into a 32-bit integer.

Sample Input 1

3
2 1 3

Sample Output 1

9

Sample Input 2

4
1 3 2 4

Sample Output 2

19

Sample Input 3

8
5 4 8 1 2 6 7 3

Sample Output 3

85

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>

int main(){
        int N;
        int res = 0;
        scanf("%d", &N);
        int * A = (int *) malloc(N* sizeof(int));
        int i,j;
        for (i=0;i<N;i++){
                scanf("%d", A+i);
        }   
        for (i=0;i<N;i++){
                int a = A[i];
                int left = 0;
                int right = 0;                                                                                                                                                                                                        
                for (j=i-1;j>= 0;j--){
                        if (A[j] > a) left ++; 
                        else break;
                }   
                for (j=i+1;j< N;j++){
                        if (A[j] > a) right ++; 
                        else break;
                }   
                res += a*(left+1)*(right+1);
        } 

        printf("%d", res);
}