[BOJ 2867] 수열의 값

View as PDF

Submit solution

Points: 4
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

수열의 값이란 수열에서 가장 큰 원소와 가장 작은 원소의 차이이다.

예를 들어, (3, 1, 7, 2)는 수열의 값이 6이고, (42, 42)는 0이다.

수열이 주어졌을 때, 모든 부분 수열의 값의 합을 출력하는 프로그램을 작성하시오 .

(3, 1, 7, 2)의 부분 수열은 총 10개 (3), (1), (7), (2), (3,1), (1,7), (7,2), (3,1,7), (1,7,2), (3,1,7,2) 가 있고, 각각의 수열의 값을 구한뒤 이를 합하면 31이 된다.

입력 형식

첫째 줄에 수열의 크기 N(2 ≤ N ≤ 300,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수열의 원소가 한 줄에 하나씩 주어진다. 원소는 100,000,000보다 크지 않은 양의 정수이다.

출력 형식

첫째 줄에 입력으로 주어진 수열의 부분 수열의 값의 합을 출력한다.

예제 입력 1

3
1
2
3

예제 출력 1

4

예제 입력 2

4
7
5
7
5

예제 출력 2

12

예제 입력 3

4
3
1
7
2

예제 출력 3

31

Comments

There are no comments at the moment.