Tesoros al noreste P29540


Statement
 

pdf   zip

En un cuadrado de tamaño DD por DD hay enterrados NN tesoros. Sean (xi,yi)(x_i, y_i) las coordenadas (enteros entre 00 y D1D-1, ambos inclusive) de la posición donde está enterrado el tesoro ii-ésimo, valorado en wiw_i euros.

Sólo se te permite entrar en el cuadrado por la casilla (0,0)(0,0), y puedes recoger tantos tesoros como te sea posible con una única condición: únicamente puedes avanzar hacia el este (incrementar la coordenada xx en 1) o hacia el norte (incrementar la coordenada yy en 1).

Por ejemplo: si D=5D=5 y hubiera N=3N=3 tesoros situados en (0,0)(0,0), (1,2)(1,2) y (2,1)(2,1) y valorados en w1=1w_1=1, w2=2w_2=2 y w3=3w_3=3 respectivamente, podrías ir del (0,0)(0,0) al (1,2)(1,2) y acumular un total de 3 euros, o ir del (0,0)(0,0) al (2,1)(2,1) y acumular un total de 4 euros, pero no te sería posible visitar los tres tesoros (lo intentes como lo intentes, en algún momento tendrías que avanzar hacia el sur o hacia el oeste).

Entrada

Cada entrada contiene un único caso de pruebas. Su primera línea contiene los números N>0N>0 y D>0D>0. A continuación vienen NN líneas con los valores xix_i, yiy_i y wiw_i, separados por espacios. Se te garantiza que 1wi1061\le w_i\le 10^6.

Salida

Escribe una línea (acabada en salto de línea) con el valor máximo de los tesoros que es posible recoger.

Puntuación

  • TestA:   Resolver varias entradas con N3,D100N\le 3, D\le 100.

  • TestB:   Resolver varias entradas con N1000,D100N\le 1000, D\le 100.

  • TestC:   Resolver varias entradas con N8,D109N\le 8, D\le 10^9.

  • TestD:   Resolver varias entradas con N1000,D109N\le 1000, D\le 10^9.

  • TestE:   Resolver varias entradas con N105,D109N\le 10^5, D\le 10^9.

Public test cases
  • Input

    3 5
    1 2 2
    0 0 1
    2 1 3
    

    Output

    4
    
  • Input

    7 11
    0 0 4
    1 4 2
    2 3 5
    1 3 7
    4 1 6
    5 3 5
    2 10 6
    

    Output

    22
    
  • Input

    7 100000001
    0 0 4
    10000000 40000000 2
    20000000 30000000 5
    10000000 30000000 7
    40000000 10000000 6
    50000000 30000000 5
    20000000 100000000 6
    

    Output

    22
    
  • Information
    Author
    Dmytro Soboliev
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++