turnuri

Time limit: 0.3s Memory limit: 512MB Input: Output:

Există NN turnuri numerotate de la 11 la NN. Fiecare turn ii cu 1iN1 \leq i \leq N se află la coordonata întregă P[i]P[i] și are înălțimea întreagă H[i]H[i]. Turnurile se află la coordonate distincte care respectă P[1]<P[2]<<P[N]P[1] < P[2] < \ldots < P[N].

Harap-Alb începe din turnul 11 și vrea să ajungă în turnul NN prin salturi succesive înspre dreapta. De asemenea, se cunoaște puterea lui Harap-Alb, măsurată ca un număr W{1,2}W \in \{1, 2\}. Costul de a sări de la turnul ii la turnul jj, unde i<ji < j, este:

cost(i,j)=(P[j]P[i])Wmax(H[i],H[j]).\text{cost}(i, j) = (P[j] - P[i])^W \cdot \text{max}(H[i], H[j]).

Ajutați-l pe Harap-Alb să calculeze costul minim pentru a ajunge din turnul 11 în turnul NN.

Date de intrare

Pe prima linie se află NN și WW. Pe a doua linie se află P[1],,P[N]P[1], \ldots, P[N], iar pe a treia linie se află H[1],,H[N]H[1], \ldots, H[N]. Numerele de pe fiecare linie sunt separate prin spații.

Date de ieșire

Pe prima linie se va afișa costul total minim pentru a ajunge de la turnul 11 la turnul NN.

Restricții

  • 1N500 0001 \leq N \leq 500 \ 000
  • W{1,2}W \in \{1, 2\}
  • 1P[1]<P[2]<<P[N]1091 \leq P[1] < P[2] < \ldots < P[N] \leq 10^9
  • 1H[i]1091 \leq H[i] \leq 10^9 pentru 1iN1 \leq i \leq N
  • Atenție! Rezultatul poate fi foarte mare (dar demonstrabil 1036\leq 10^{36}), deci este nevoie de numere mari
# Scor Restricții
1 8 N5 000N \leq 5 \ 000 și W=1W = 1
2 12 N5 000N \leq 5 \ 000 și W=2W = 2
3 10 H[1]=H[2]==H[N]H[1] = H[2] = \ldots = H[N]
4 10 H[1]H[2]H[N]H[1] \leq H[2] \leq \dots \leq H[N]
5 20 W=1W = 1}
6 15 N50 000N \leq 50 \ 000
7 25 Fără alte restricții

Exemplu 1

stdin

4 1
1 3 4 10
5 100 4 3

stdout

39

Explicație

Pentru primul exemplu, comparând rutele, observăm că traseul optim este 1341 \rightarrow 3 \rightarrow 4:

  • 14:451 \rightarrow 4: 45
  • 134:(41)×max(5,4)+(104)×max(4,3)=15+24=391 \rightarrow 3 \rightarrow 4 : (4−1) \times \text{max}(5,4) + (10−4) \times \text{max}(4,3) = 15 + 24 = 39
  • 12:(31)×max(5,100)+2001 \rightarrow 2 \rightarrow \ldots : (3-1) \times \text{max}(5,100) + \ldots \ge 200

(Se observă ca orice rută care începe cu 121 \rightarrow 2 este inoptimă)

Exemplu 2

stdin

2 2 
1 11
7 4

stdout

700

Explicație

Pentru al doilea exemplu, costul total este:

  • 12:(111)2×max(7,4)=100×7=7001 \rightarrow 2: (11-1)^2 \times \text{max}(7, 4) = 100 \times 7 = 700.

Log in or sign up to be able to send submissions!