RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00195

タクシー (Taxis)

설명

IOI 国は町 1 から町 N までの N 個の町からなり,町と町とは道路で結ばれている.IOI 国には K 本の道路があり,すべての道路は異なる 2 つの町を結んでいる.車は道路を双方向に自由に移動できるが,道路以外を通ってある町から別の町に行くことはできない.

IOI 国の町 1 に住む JOI 君は,町 N に住む祖母の家までタクシーで行くことにした.IOI 国にはタクシー会社 1 からタクシー会社 N までの N 個のタクシー会社がある.IOI 国のタクシー会社には次のような少々特殊な規則がある.

タクシー会社 i のタクシーには,町 i でのみ乗車できる.

タクシー会社 i のタクシーの運賃は,利用した距離によらず C i である.

タクシー会社 i のタクシーは,乗車してから連続して最大 R i 本の道路しか通ることができない.

たとえば R 1 = 2 の場合,町 1 からタクシー会社 1 のタクシーに乗車すると,最大 2 本の道路しか通ることができないため,道路を 3 本以上通るためには途中の町でタクシーを乗り換える必要がある.

JOI 君は町以外の地点でタクシーに乗ったりタクシーから降りたりすることはできない.また,タクシー以外の移動手段を用いることもできない.JOI 君が町 N に到達するために必要な運賃の合計の最小値を求めるプログラムを作成せよ.

제약
입력 형식

入力は 1 + N + K 行からなる.

1 行目には,2 つの整数 N, K (2 ≦ N ≦ 5000, N - 1 ≦ K ≦ 10000) が空白を区切りとして書かれている.これは,IOI 国が N 個の町からなることと,IOI 国の道路の本数が K 本であることを表す.

続く N 行のうちの i 行目 (1 ≦ i ≦ N) には,2 つの整数 C i , R i (1 ≦ C i ≦ 10000, 1 ≦ R i ≦ N) が空白を区切りとして書かれている.これは,タクシー会社 i のタクシーの運賃が C i で,乗車してから連続して最大 R i 本の道路しか通ることができないことを表す.

続く K 行のうちの j 行目 (1 ≦ j ≦ K) には,異なる 2 つの整数 A j , B j (1 ≦ A j < B j ≦ N) が空白を区切りとして書かれている.これは,町 A j と町 B j との間に道路が存在することを表す.同じ (A j , B j ) の組が 2 回以上書かれていることはない.

与えられる入力データにおいては,どの町から別のどの町へもタクシーを乗り継いで行くことができることが保証されている.

출력 형식

JOI 君が町 1 から町 N まで行くのに必要な運賃の合計の最小値を表す整数を 1 行で出力せよ.

예제 1
입력
6 6
400 2
200 1
600 3
1000 1
300 5
700 4
1 2
2 3
3 6
4 6
1 5
2 4
출력
700
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2014 Preliminary

평가 및 의견

タクシー (Taxis)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

タクシー (Taxis)

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8