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

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

hosonagaitokoro

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

요약
마차는 1분 이상 간격을 두고 출발하고, 좁은 길에서 앞지를 수 있는 넓은 곳이 몇 군데 있다. 첫 출발부터 마지막 도착까지 걸리는 시간의 최솟값을 구한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 그리디
정답자
아직 제출이 없습니다

문제

高橋君は苹果(りんご)ちゃんとニューヨークを観光することになりました。 高橋君は観光するところに特に希望はなかったのですが、苹果ちゃんの熱烈な誘いにより、以下の地図にあるような"ほそながいところ"を観光することに決まりました。

Google マップ - (C)2012 Google

この"ほそながいところ"はとても細長く、直線とみなすことができます。また、"ほそながいところ"には片方の端にスタート地点が、もう片方の端にゴール地点があり、スタート地点からゴール地点へ向けて何台かの観光用の馬車が走っています。この馬車は以下のようなルールに従って運行されています。

  • 馬車はn台あり、すべての馬車はスタート地点から出発してゴール地点まで進みます。
  • 以下のすべての場合において馬車の大きさは無視できます。
  • 途中で速度を変更することが難しいため、すべての馬車は馬車はそれぞれ1kmあたりをSi(Siは1以上の整数)分の等速で進みます。
  • 馬車には出発する順番が定められており、この順番を守らなければなりません。ただし、ゴール地点に到着する順番について特に決まりはありません。
  • 複数の馬車はスタート地点を同時に発車することはできず、ある馬車が発車すれば次の馬車が発車するまでに1分以上間をあけなければなりません。
  • ゴール地点は十分に広いため、何台の馬車が同時に到着しても構いません。また、ゴール地点に到着した馬車はそこで止まり、ずっとゴール地点にいます。
  • "ほそながいところ"は大変細長いため馬車は基本的に同じ場所に2台並ぶことはできません。しかし、特別に"すこしひろいところ"がm箇所あり、そこでのみ2台まで並ぶことができ、ある馬車が別の馬車を追い抜くことが可能です。

また、先述した"ほそながいところ"と"すこしひろいところ"について、以下の制約を満たします。

  • スタート地点からゴール地点までは直線的に結ばれており、その距離は(dist)km(distは1以上の整数)
  • m箇所の"すこしひろいところ"はスタート地点からゴール地点までのどこかにあり、それらはいずれもスタート地点およびゴール地点とは重なりません。また、それぞれの"すこしひろいところ"はスタート地点からちょうど(Di)km(Diは1以上の整数)の地点にあります。

これを聞いた高橋君は、以上に述べた馬車運行のルールを守りつつ馬車の出発時刻を調整することにより、1台目の馬車が発車してからすべての馬車が到着するまでにかかる時間を小さくできることを見抜きました。 高橋君の出した結果を知るために、 馬車の台数n , それぞれの馬車の速度に関するパラメータSi,"ほそながいところ"上に存在する"すこしひろいところ"の総数m ,それぞれの"すこしひろいところ"のスタート地点からの距離Di が与えられるので、 1台目の馬車が発車してからすべての馬車が到着するまでにかかる時間の最小値を求めるプログラムを書くことがあなたの仕事です。 なお、苹果ちゃんは"ほそながいところ"での観光を存分に楽しみましたが、高橋君はこの観光の後には「ほそながかった…」としかつぶやかなかったそうです。

입력

入力形式は以下のようになっている。

dist
n
S1
S2
..
Sn
m
D1
D2
..
Dm
  • distはスタート地点からゴール地点までの距離(km)を表す
  • nはスタート地点を発車する馬車の数を表す
  • Siは馬車の速度を表し、i番目に出発する馬車は1kmを(Si)分で進むことを表す。
  • mは"すこしひろいところ"の総数を表す
  • Diはスタート地点からそれぞれの"すこしひろいところ"への距離(km)を表す。

출력

1台目の馬車が発車してからすべての馬車が到着するまでにかかる時間の最小値を1行に出力せよ。単位は分である。

제한

  • 1≤dist≤100000000(108)
  • 1≤n≤5
  • 0≤m≤5
  • 1≤Si≤100
  • 0i
  • i≠jならばDi≠Dj
  • 入力に出現する数はすべて整数である。
  • i < jならば、i番目に出発する馬車はj番目の馬車より1分以上早く出発しなければならない

예제4

  1. 예제 1

    입력
    100
    2
    1
    2
    0
    
    예상 출력
    201
    
  2. 예제 2

    입력
    100
    2
    2
    1
    0
    
    예상 출력
    200
    
  3. 예제 3

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

    입력
    100
    4
    3
    1
    1
    3
    2
    40
    60
    
    예상 출력
    421