Freakcoins P23949


Statement
 

pdf   zip

Ens trobem a la meravellosa ciutat de París, gaudint d’un relaxat passeig per la ciutat… si no fos pel nostre guia turístic, en Gerard. Per evitar que ens faci veure tants monuments, hem dissenyat una moneda imaginària, el FreakCoin, amb la qual ens ha de pagar per cada desplaçament que fem. I en Gerard només pot aconseguir FreakCoins comprant-nos menjar!

Inicialment ens trobem al punt número 0, i en Gerard té 0 FreakCoins. Vol visitar nn punts diferents en un ordre predeterminat, i sap que anar de ii a i+1i+1 li costarà aia_i FreakCoins. També té informació d’mm boulangeries: per a cadascuna, a quin punt xix_i es troba, quants FreakCoins fif_i tindrà si hi compra menjar allà, i el preu pip_i en euros de comprar-hi menjar. Quin és el mínim nombre d’euros que s’haurà de gastar per poder visitar els nn monuments?

Tingueu en compte que en un punt hi pot haver zero, una, o més boulangeries. A més, els FreakCoins no s’acumulen. És a dir, en tot moment es tenen tants FreakCoins com els obtinguts a l’última boulangerie on es va comprar, menys els que s’han gastat ens els desplaçaments posteriors. Lògicament, el nombre de FreakCoins no pot ser mai negatiu.

Entrada

L’entrada consisteix en diversos casos, només amb nombres naturals. Cada cas comença amb nn i mm. Segueixen els nn aia_i’s. Finalment, tenim mm triplets xix_i fif_i pip_i. Suposeu 2n1052 \le n \le 10^5, 1m1051 \le m \le 10^5, 1ai1041 \le a_i \le 10^4, 0xi<n0 \le x_i < n, 1fi1091 \le f_i \le 10^9, i 1pi1041 \le p_i \le 10^4.

Sortida

Per a cada cas, escriviu la mínima quantitat d’euros necessaris per poder visitar els nn llocs. Si no és possible, escriviu 1-1.

Public test cases
  • Input

    3 2
    5 5 5
    0 14 6  1 10 3
    
    3 2
    1 2 3
    1 4 8  0 3 9
    

    Output

    9
    -1
    
  • Information
    Author
    Cesc Folch
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++