Máxima Puntuación


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 128M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

A Pedro y Rolando les gusta mucho participar en competencias de programación en línea y, como es de esperar de estos dos buenos programadores de IslaGrande, ellos siempre compiten uno contra el otro.Ambos tienen una amplia experiencia debido a años de fuerte entrenamiento y en todas las competencias cada uno de los dos es capaz de resolver todos los problemas, pero Pedro siempre puede ganarle a Rolando por una amplia diferencia. Pedro le dice a Rolando porqué él gana: “No se trata solo de resolver todos los problemas, cada problema tiene una puntuación inicial y además, cada problema pierde cierta cantidad de puntos por cada minuto pasado antes de resolverlo”.

Ahora que Rolando entiende bien las reglas él desea saber la máxima puntuación que puede obtener en una competencia si conociera de antemano el tiempo que él se tarda en resolver cada problema, así como la puntuación inicial y la cantidad de puntos que se pierden por minuto para cada problema. Pero él decide dejarle esta tarea a uno de sus discípulos en IslaGrande, y en este caso fue a ti.

Entrada

En la primera línea aparecerá el entero N, el número de problemas (1 \le N \le 100 000). Cada una de las siguientes N líneas describe un problema con tres enteros: P, S y D,                (1 \le P \le 2 000 000 000, 1 \le S, D \le 128), los puntos iníciales del problema, el número de puntos que el problema pierde por cada minuto antes de resolverse y el número de minutos que Rolando tarda en resolver el problema respectivamente. Se asegura que todos los problemas tendrán puntuación positiva si se resuelven en cualquier orden.

Salida

Imprima un único entero que representa la máxima puntuación que Rolando puede obtener en la competencia.

Ejemplo de Entrada

4 
500 2 2 
1000 4 1 
1500 6 7 
2000 8 19

Ejemplo de Salida

4698

Explicación del ejemplo

Hay 4 problemas, el primero tiene un valor de 500 puntos, pierde por cada minuto 2 puntos y se tarda en resolverlo 2 minutos, el segundo problema tiene un valor de 1000, pierde cada minuto 4 puntos y se tarda en resolverlo 1 minuto, el tercer problema tiene un valor de 1500, pierde cada minuto 6 puntos y se tarda en resolverlo 7 minutos y el cuarto problema tiene un valor de 2000, pierde cada minuto 8 puntos y se tarda en resolverlo 19 minutos. El orden óptimo es que resuelva primero el segundo problema, luego el primero, el tercero y el cuarto respectivamente.

(1000-41)+(500-2(2+1))+(1500-6(7+2+1))+(2000-8(19+7+2+1)) = 996 + 494 + 1440 + 1768 = 4698.


Comments

There are no comments at the moment.