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

シルクロード (Silk Road)

설명

現在カザフスタンがある地域には,古くは「シルクロード」と呼ばれる交易路があった.

シルクロード上には N + 1 個の都市があり,西から順に都市 0, 都市 1, ... , 都市 N と番号がつけられている.都市 i - 1 と都市 i の間の距離 (\(1 \le i \le N\)) は D i である.

貿易商である JOI 君は,都市 0 から出発して,都市を順番に経由し,都市 N まで絹を運ぶことになった.都市 0 から都市 N まで M 日以内に移動しなければならない.JOI 君は,それぞれの日の行動として,以下の 2 つのうちいずれか 1 つを選ぶ.

移動: 現在の都市から 1 つ東の都市へ 1 日かけて移動する.現在都市 i - 1 (\(1 \le i \le N\)) にいる場合は,都市 i に移動する.

待機: 移動を行わず,現在いる都市で 1 日待機する.

移動は大変であり,移動するたびに疲労度が溜まっていく.シルクロードでは日毎に天候の変動があり,天候が悪い日ほど移動には苦労を要する.

JOI 君が絹を運ぶのに使える M 日間のうち j 日目 (\(1 \le j \le M\)) の天候の悪さは C j であることが分かっている.都市 i - 1 から都市 i (\(1 \le i \le N\)) に j 日目 (\(1 \le j \le M\)) に移動する場合,疲労度が D i × C j だけ溜まってしまう.移動を行わず待機している日は疲労度は溜まらない.

JOI 君は,それぞれの日の行動をうまく選ぶことで,できるだけ疲労度を溜めずに移動したい.JOI 君が M 日以内に都市 N に移動するときの,移動を開始してから終了するまでに溜まる疲労度の合計の最小値を求めよ.

제약
입력 형식

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

1 行目には,2 つの整数 N, M (\(1 \le N \le M \le 1000\)) が空白を区切りとして書かれている.これは,シルクロードが N + 1 個の都市からなり,JOI 君が絹を都市 0 から都市 N まで M 日以内に運ばなければならないことを表す.

続く N 行のうちの i 行目 (\(1 \le i \le N\)) には,整数 D i (1 ≦ D i ≦ 1000) が書かれている.これは,都市 i - 1 と都市 i の間の距離が D i であることを表す.

続く M 行のうちの j 行目 (\(1 \le j \le M\)) には,整数 C j (1 ≦ C j ≦ 1000) が書かれている.これは,j 日目の天候の悪さが C j であることを表す.

출력 형식

JOI 君が M 日以内に都市 N に移動するときの,移動を開始してから終了するまでに溜まる疲労度の合計の最小値を 1 行で出力せよ.

예제 1
입력
3 5
10
25
15
50
30
15
40
30
출력
1125
문제 정보

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

출처 JOI 2015 Preliminary

평가 및 의견

シルクロード (Silk Road)

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

Log in to rate problems.

개별 의견

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

풀이 제출

シルクロード (Silk Road)

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