Manejo de tiempo.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C#, C++, Java, JS, Python, VB

Para manejar eficientemente su tiempo, el Granjero Juan ha creado una lista de las tareas que él debe terminar. La tarea i requiere cierta cantidad de tiempo T_i para completarse y aún más debe estar terminada en el tiempo S_i. El Granjero Juan comienza su día en tiempo t=0 y puede dedicarse únicamente a una tarea hasta que esta esté terminada.

Aún el maduro hombre de negocios, Granjero Juan se da cuenta que él debe manejar su tiempo eficientemente. El tiene N tareas convenientemente numeradas 1..N que cumplir (como ordeñar las vacas, limpiar el establo, arreglar las cercas, y así sucesivamente).

Aún a un maduro hombre de negocios le gusta dormir hasta tarde; ayude al Granjero Juan a determinar la hora más tardía en la que él puede comenzar a trabajar y aún así terminar todas las tareas a tiempo.

Entrada

  • Línea 1: Un solo entero: N
  • Líneas 1..N+1: La línea i+1 contiene dos enteros separdos por espacio: T_i y S_i

Salida

Escribir el tiempo más tarde en la cual el Granjero Juan puede comenzar a trabajar ó –1 si el Granjero Juan no puede terminar todas las tareas a tiempo.

Restricciones

  • 1 \leq S_i \leq 1,000,000.
  • 1 \leq T_i \leq 1,000.
  • 1 \leq N \leq 1,000.

Ejemplo de Entrada

4
3 5
8 14
5 20
1 16

Detalles de la Entrada

El Granjero Juan tiene para hacer 4 tareas, las cuales le toman 3, 8, 5, y 1 unidad de tiempo respectivamente, y deben estar terminadas a las 5, 14, 20, y 16, respectivamente.

Ejemplo de Salida

2

Detalles de la Salida

El Granjero Juan debe comenzar la primera tarea en el tiempo 2. Luego él puede hacer la segunda, cuarta y tercera tareas en ese orden para terminar a tiempo.


Comments

There are no comments at the moment.