Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2007-09-22 11:57:03.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:rompetrol.in, rompetrol.outSursăAutumn Warmup 2007, Runda 2
AutorMugurel Ionut AndreicaAdăugată deastronomyAirinei Adrian astronomy
Timp execuţie pe test1.25 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Rompetrol

La ONI 2006, firma Petrom a avut nevoie de ajutorul dumneavoastra pentru a amenaja K depozite de combustibil in K dintre cele N benzinarii amplasate de-a lungul autostrazii Soarelui, in asa fel incat suma distantelor de la fiecare benzinarie la depozitul cel mai apropiat sa fie minima. Un an (si ceva) mai tarziu, principalul concurent, Rompetrol, s-a extins si are de rezolvat o problema similara, dar la o scara mai mare. Rompetrol are N benzinarii amplasate de-a lungul autostrazii Soarelui. Pozitiile benzinariilor sunt cunoscute, fiind specificate prin distantele d1, d2, ... , dN ( di reprezinta distanta de la sediul firmei Rompetrol pana la benzinaria i). Sediul firmei Rompetrol este amplasat la intrarea pe autostrada Soarelui (chiar langa cel al firmei Petrom). De asemenea, pentru fiecare benzinarie se cunoaste cantitatea de combustibil ci necesara pentru a satisface cerintele clientilor ce utilizeaza benizaria respectiva. In K dintre aceste benzinarii firma doreste sa amenajeze depozite de combustibil, care sa alimenteze benzinaria respectiva, precum si, posibil, alte benzinarii invecinate. Fiecare benzinarie va fi alimentata de la depozitul cel mai apropiat. Pentru fiecare benzinarie se cunoaste costul ai ce trebuie platit pentru amenajarea unui depozit de combustibil in cadrul benzinariei. Costul de transport al benzinei de la un depozit X la o benzinarie Y este egal cu produsul dintre cantitatea de combustibil necesara la benzinaria Y si distanta dintre X si Y. Costul de transport pentru o amplasare a depozitelor data va fi egal cu suma costurilor de transport ale tuturor benzinariilor. Costul total este egal cu suma dintre costul total de transport si costurile de amenajare ale depozitelor in K dintre benzinarii.

Cerinta

Scrieti un program care sa determine costul total minim.

Date de intrare

Fisierul de intrare rompetrol.in contine pe prima linie doua numere naturale separate prin spatiu N si K, reprezentand numarul de benzinarii si respectiv numarul de depozite care trebuie construite. Pe fiecare linie i din urmatoarele N sunt scrise 3 numere naturale, separate prin cate un spatiu: di, ci si ai, reprezentand distanta de la benzinaria i la sediul firmei Rompetrol, cantitatea de combustibil necesara la benzinaria i si costul amenajarii unui depozit in benzinaria i.

Date de iesire

Fisierul de iesire rompetrol.out va contine pe prima linie costul total minim posibil.

Restrictii

  • ... ≤ ... ≤ ...
  • 1 ≤ N ≤ 100 000
  • 1 ≤ K ≤ N
  • 1 ≤ N*K ≤ 10 000 000
  • 1 ≤ d1 < d2 < ... < dN &1e; 10 000 000
  • 1 ≤ ci ≤ 1000
  • 0 ≤ ai ≤ 1 000 000 000
  • 40% din teste vor avea N≤500 si K≤300

Exemplu

rompetrol.inrompetrol.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicatie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?