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

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

주유

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

요약
순서대로 놓인 주유소의 기름값과 주유소 사이 거리가 주어질 때, 정해진 탱크 용량으로 A에서 B까지 가는 최소 비용을 구한다.
난이도

보통10점 중 6점

유형
그리디, 스택
정답자
아직 제출이 없습니다

문제

어떤 운송업자가 자동차로 AA 도시에서 BB 도시까지 화물을 나른다. 경로를 따라 여러 주유소가 있고, 주유소마다 휘발유를 서로 다른 가격에 판다. 맨 처음 주유소는 경로의 시작 지점(AA 도시)에 있다.

모든 자동차는 11마일마다 정확히 11단위의 휘발유를 쓰지만, 자동차마다 연료 탱크의 용량이 다르다. AA에서 BB까지 가는 데 드는 비용은 탱크 용량과 주유 계획에 따라 달라진다. 모든 주유소에는 어떤 자동차의 탱크든 가득 채울 만큼 충분한 휘발유가 있으며, 주유소들은 모든 자동차가 AA에서 BB까지 갈 수 있도록 배치되어 있다 (연속한 두 주유소 사이의 거리와 마지막 주유소에서 BB까지의 거리는 모두 탱크 용량 이하이다).

자동차는 탱크가 빈 상태로 AA에서 출발한다. 탱크 용량과 주유소들의 가격 및 간격이 주어질 때, AA에서 BB까지 운전하는 데 필요한 휘발유의 최소 총비용을 구하라.

입력

첫째 줄에 탱크 용량을 나타내는 정수 pp가 주어진다 (1≤p≤1061 \le p \le 10^{6}).

둘째 줄에 AA에서 BB까지의 경로에 있는 주유소의 개수를 나타내는 정수 nn이 주어진다 (1≤n≤1061 \le n \le 10^{6}).

이어지는 nn개의 줄에는 각각 두 양의 정수 cic_i와 did_i가 공백 하나로 구분되어 주어진다. 주유소는 AA에서 멀어지는 순서대로 번호가 매겨진다. cic_i는 ii번째 주유소에서 휘발유 11단위의 가격이고, did_i는 ii번째 주유소와 i+1i+1번째 주유소 사이의 거리(마일)이다 (마지막 값 dnd_n은 마지막 주유소에서 BB까지의 거리이다). 값들은 1≤ci≤10001 \le c_i \le 1000과 1≤di≤1061 \le d_i \le 10^{6}을 만족한다. 경로 전체의 길이(모든 did_i의 합)는 10610^{6} 이하이다.

출력

주어진 탱크 용량을 가진 자동차가 AA에서 BB까지 운전하는 데 드는 최소 주유 비용을 정수 하나로 출력한다.

예제5

  1. 예제 1

    입력
    40
    3
    10 2
    15 1
    5 2
    
    예상 출력
    40
    
  2. 예제 2

    입력
    5
    1
    7 3
    
    예상 출력
    21
    
  3. 예제 3

    입력
    2
    3
    1 2
    100 2
    1 2
    
    예상 출력
    204
    
  4. 예제 4

    입력
    3
    3
    9 1
    6 1
    3 3
    
    예상 출력
    24
    
  5. 예제 5

    입력
    100
    3
    1 2
    5 2
    9 2
    
    예상 출력
    6