opt

Time limit: 0.2s Memory limit: 64MB Input: Output:

Buzdi a ajuns din greșeală în viitor, în anul 2040, în timpul Olimpiadei de Informatică, la clasa a VIII-a. Acesta a reușit să țină minte enunțul problemei și dorește sa vă propună această problemă mai devreme decât era în plan.

Cerința

Se consideră un sistem de coordonate xOyxOy și NN puncte în plan de coordonate numere naturale. Numim un poligon consecutiv un poligon format din două puncte consecutive și proiecțiile acestora pe dreapta OxOx. Aria totală este egala cu suma tuturor ariilor poligoanelor consecutive.

O operație de Upgrade este definită ca fiind incrementarea coordonatei YY cu 11 a unui punct. Această operație poate fi:

  • Folosită de maxim KK ori în total.
  • Folosită de maxim BiB_i ori pentru punctul i (1iN)i \ (1 ≤ i ≤ N).

Dându-se cele NN puncte, KK si vectorul BB, să se determine care este aria maximă totală ce poate fi obținută după aplicarea a maxim KK operații de Upgrade.

Date de intrare

Pe prima linie se găsesc numerele naturale NN și KK separate printr-un spațiu. Pe următoarele NN linii se găsesc două numere naturale XiX_i și YiY_i, separate printr-un spațiu, reprezentând coordonatele punctului de pe linia ii. Pe ultima linie, se găsesc NN numere naturale, separate printr-un spațiu, reprezentând elementele vectorului BB, cu semnificația din enunț.

Date de ieșire

Se va afișa un singur număr real cu o zecimala, reprezentând aria maximă totală ce poate fi obținută dupa aplicarea a maxim KK operații de Upgrade.

Restricții și precizări

  • 2N100 0002 \leq N \leq 100 \ 000.
  • 0K100 000 0000 \leq K \leq 100 \ 000 \ 000.
  • 0Xi, Yi100 000 000, pentru 1iN0 \leq X_i, \ Y_i \leq 100 \ 000 \ 000, \ pentru \ 1 \leq i \leq N.
  • Xi<Xi+1, pentru 1i<NX_i < X_{i+1}, \ pentru \ 1 \leq i < N.
  • 0Bi100 000 000, pentru 1iN0 \leq B_i \leq 100 \ 000 \ 000, \ pentru \ 1 \leq i \leq N.
  • B1 + B2 + B3 + ... + BN100 000 000B_1 \ + \ B_2 \ + \ B_3 \ + \ ... \ + \ B_N \leq 100 \ 000 \ 000.
  • Se consideră că un segment este un poligon cu arie 0.
  • Pentru 17 puncte, K=0K = 0.
  • Pentru 22 puncte, 2N1 000 și 1K1 0002 \leq N \leq 1 \ 000 \ și \ 1 \leq K \leq 1 \ 000.

Exemplul

stdin

5 2
2 0
5 1
7 2
9 2
12 1
1 2 0 1 2

stdout

18.0

Explicație

Punctele albastre reprezintă punctele din datele de intrare, iar linia punctată reprezintă proiecția punctului respectiv.
Primul poligon consecutiv este format din primul punct (2,0)(2, 0) și al doilea punct (5,1)(5, 1) împreună cu proiecțiile lor pe OxOx. Al doilea poligon consecutiv este format din al doilea punct (5,1)(5, 1) și al treilea punct (7,2)(7, 2) împreună cu proiecțiile lor pe OxOx și așa mai departe.
Putem să aplicăm operația de Upgrade pe al doilea punct și pe al patrulea punct, deoarece B2B_2 și B4B_4 nu sunt egale cu 00. Aceste puncte vor fi acum (5,2)(5, 2) și (9,3)(9, 3), iar B2B_2 = 11 și B4B_4 = 00.
Aria totală este egală cu A1A_1 + A2A_2 + A3A_3 + A4A_4 + A5A_5 = 33 + 44 + 55 + 66 = 1818 (AiA_i reprezintă aria poligonului consecutiv cu numărul ii). Această arie este maximă posibilă.

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