În tărâmul Jupânului există N + 1
orașe. Acestea au fost construite în linie dreaptă, începând cu cel în care este casa Jupânului. Între oricare 2 orașe consecutive s-a construit câte un drum. Pentru fiecare drum, se cunoaște lungimea lui, exprimată în metri și viteza cu care se poate parcurge, exprimată în metri pe secundă.
Cerința
Jupânul trebuie să ajungă din orașul 0
în orașul N
. Acesta știe că poate îmbunătăți un drum, mărindu-i viteza de la V
metri pe secundă la V + 1
metri pe secundă, cu costul de 1 dolar. Acesta poate îmbunătăți un drum de mai multe ori.
Jupânul are un buget de X
dolari și ar vrea să-i folosească pentru a micșora timpul în care ajunge din orașul 0
în orașul N
.
Date de intrare
Fișierul de intrare orase2.in
are următoarea structură:
- Pe prima linie se află numărul
T
, reprezentând tipul de restricții pe care îl respectă testul. - Pe a doua linie, se află două numere naturale
N
șiX
. - Pe a treia linie se află
N
numere naturale, ali
-lea număr reprezentând distanța între orașelei–1
șii
. - Pe a patra linie se află
N
numere naturale, ali
-lea număr reprezentând viteza între orașelei–1
șii
.
Date de ieșire
Fișierul de ieșire orase2.out
va conține pe prima linie un număr natural R
ce reprezintă partea întreagă a timpului minim de parcurgere a distanței dintre orașul 0
și orașul N
.
Restricții și precizări
1 ≤ N ≤ 50.000
1 ≤ X ≤ 10.000.000
- lungimea drumului dintre oricare două orașe este un număr natural din intervalul
[1, 10.000]
- viteza inițială dintre oricare două orașe consecutive este un număr natural din intervalul
[1, 10.000]
- tipuri de restricții
- tipul 1: pentru 5% din punctaj
N ≤ 10
șiX ≤ 10
- tipul 2: pentru alte 10% din punctaj
N ≤ 1000
șiX ≤ 1000
- tipul 3: pentru alte 15% din punctaj
1 ≤ N ≤ 50.000
,1 ≤ X ≤ 10.000
, distanţele sunt mai mici decât200
şi se garantează că vitezele finale vor fi mai mici sau egale decât1000
- tipul 4: pentru alte 20% din punctaj
1 ≤ N ≤ 50.000
,1 ≤ X ≤ 10.000.000
și toate distanțele sunt egale - tipul 5: pentru restul de 50% din punctaj
1 ≤ N ≤ 50.000
și1 ≤ X ≤ 10.000.000
- tipul 1: pentru 5% din punctaj
Exemplul 1
orase2.in
1 3 5 5 3 7 2 1 4
orase2.out
3
Explicație
Timpul minim este 3.65
, iar rezultatul este [3.65]=3
. Vitezele finale vor fi 4
, 3
, 5
. 5 / 4 + 3 / 3 + 7 / 5 = 3.65
Exemplul 2
orase2.in
1 4 6 3 8 10 5 4 3 7 3
orase2.out
4
Explicație
Timpul minim este 4.321
, iar rezultatul este [4.321]=4
. Vitezele finale vor fi 4
, 7
, 7
, 5
. 3 / 4 + 8 / 7 + 10 / 7 + 5 / 5 = 4.32142857
Exemplul 3
orase2.in
1 5 6 2 5 3 2 4 5 1 2 1 3
orase2.out
4
Explicație
Timpul minim este 4.65
, iar rezultatul este [4.65]=4
. Vitezele finale vor fi 5
, 4
, 3
, 3
, 3
. 2 / 5 + 5 / 4 + 3 / 3 + 2 / 3 + 4 / 3 = 4.65