아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

매출

면접 대비

시간 제한1초메모리 제한128 MB

요약
각 테스트 케이스에서 앞선 날의 매출이 이후 날의 매출 이하인 날 쌍의 개수를 세어 출력합니다.
난이도

쉬움10점 중 2점

유형
완전 탐색, 배열
정답자
아직 제출이 없습니다

문제

CozyWalk 사의 CEO인 Cooper 씨는 회사가 설립된 날부터 매일 그날의 매출 보고서를 받는다. 설립 후 둘째 날부터, 그는 보고서를 받을 때마다 이전의 모든 보고서와 비교하여 그날의 매출보다 작거나 같은 매출을 기록한 이전 날들의 수를 센다. 그리고 그 값을 목록에 적어 둔다.

이를 좀 더 형식적으로 나타내면 다음과 같다. 매출 목록을 A=(a1,a2,…,an)A = (a_1, a_2, \dots, a_n)이라 하고, Cooper 씨가 관리하는 또 다른 정수 목록을 B=(b1,b2,…,bn−1)B = (b_1, b_2, \dots, b_{n-1})이라 하자. ii번째 날(2≤i≤n2 \le i \le n)에 그는 1≤k<i1 \le k < i이면서 ak≤aia_k \le a_i를 만족하는 aka_k의 개수, 즉 bi−1b_{i-1}을 계산한다.

예를 들어 A=(20,43,57,43,20)A = (20, 43, 57, 43, 20)이라고 하자. 넷째 날의 매출 a4=43a_4 = 43에 대해, 그보다 작거나 같은 매출을 기록한 이전 날의 수는 a1≤a4a_1 \le a_4, a2≤a4a_2 \le a_4, a3>a4a_3 > a_4이므로 22이다. 따라서 b3=2b_3 = 2이다. 같은 방식으로 나머지 값을 구하면 B=(1,2,2,1)B = (1, 2, 2, 1)이 된다.

크기가 nn인 매출 목록이 주어질 때, 목록 BB에 있는 n−1n-1개 정수의 합을 출력하는 프로그램을 작성하라.

입력

입력은 표준 입력으로 주어진다. 입력은 TT개의 테스트 케이스로 이루어진다. 첫 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 목록 AA의 크기를 나타내는 정수 nn(2≤n≤10002 \le n \le 1000)이 주어진다. 다음 줄에는 nn개의 정수가 주어지며, 각각은 해당 테스트 케이스의 하루 매출 aia_i(1≤ai≤50001 \le a_i \le 5000, 1≤i≤n1 \le i \le n)를 나타낸다.

출력

출력은 표준 출력으로 쓴다. 각 테스트 케이스마다 목록 AA로부터 얻은 목록 BB의 n−1n-1개 정수의 합을 한 줄에 하나씩 출력한다.

예제4

  1. 예제 1

    입력
    2
    5
    38 111 102 111 177
    8
    276 284 103 439 452 276 452 398
    
    예상 출력
    9
    20
    
  2. 예제 2

    입력
    1
    5
    20 43 57 43 20
    
    예상 출력
    6
    
  3. 예제 3

    입력
    1
    2
    1 1
    
    예상 출력
    1
    
  4. 예제 4

    입력
    1
    2
    5 3
    
    예상 출력
    0