만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

통계

면접 대비

시간 제한2초메모리 제한512 MB

요약
일별 확진자 수가 주어질 때, 각 값을 늘리지 않으면서 수열이 비증가가 되도록 줄이고, 줄인 양의 합을 최소로 만든다.
난이도

보통10점 중 4점

유형
그리디, 배열, 구현
정답자
아직 제출이 없습니다

문제

네버랜드에서 코로나바이러스 확진자가 매우 빠르게 늘고 있다. 이 증가는 주로 원래 바이러스보다 더 빠르게 퍼지는 새로운 변이 때문에 발생했다. 사람들은 통계에서 또다시 급증하는 모습을 보며 좌절하고, 동시에 백신이 언제쯤 나라에 공급될지에 대한 명확한 전망도 없다.

새로운 변이 코로나바이러스가 더 치명적이라고 여겨지지는 않지만, 신규 확진자 통계의 증가는 사람들을 공포에 빠뜨렸다. 그래서 네버랜드 정부는 국민의 불안을 줄이기 위해 신규 확진자 통계를 약간 조작하기로 결정했다. 조작의 목표는 앞으로 며칠 동안 신규 확진자가 증가하지 않는 것처럼 보이게 하는 것이다. 더 정확히는, 앞으로 각 날짜에 발표되는 신규 확진자 수가 그 전날 발표된 수보다 같거나 적어야 한다. 조사 때문에 통계를 바꿀 수 있는 유일한 방법은 일부 검사 결과를 버리는 것이다. 따라서 발표되는 수는 항상 실제 수보다 작거나 같아야 한다.

조작이 공짜는 아니므로, 정부는 위 목표를 달성하기 위해 실제 수를 얼마나 바꿔야 하는지 그 최소 총량을 계산할 컴퓨터 과학자를 고용하려 한다. ICPC 프로그래밍 대회에서 쌓은 당신의 경험을 보고 정부는 이 중요한 임무에 당신을 선택했다.

입력

입력의 첫째 줄에는 앞으로의 날짜 수 nn (1≤n≤10 0001 \le n \le 10\,000)이 주어진다. 다음 nn개 줄에는 각각 정수 pip_i (0≤pi≤10000 \le p_i \le 1000)가 주어지며, ii번째 날의 실제 신규 확진자 수를 나타낸다.

출력

앞으로 며칠 동안 신규 확진자가 증가하지 않도록 하기 위해 실제 수를 바꿔야 하는 최소 총량을 출력한다.

예제3

  1. 예제 1

    입력
    3
    100
    150
    200
    
    예상 출력
    150
    
  2. 예제 2

    입력
    2
    5
    4
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4
    10
    0
    9
    8
    
    예상 출력
    17