Autoestudio


Submit solution

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

Authors:
Problem type
Allowed languages
C++, Python

Descripción

En el tercer semestre del primer grado de la Escuela Secundaria JOI, se imparten N cursos durante M semanas desde la primera semana hasta la M-ésima semana. Los cursos están numerados del 1 al N. En cada semana se imparten N clases. La i-ésima de cada semana es una clase del curso i.

Cubanito es alumno del primer curso. En cada una de las N × M clases, realiza una de las siguientes acciones.

  • Acción 1: Cubanito asiste a clase. Si asiste a una clase del Curso i (1 \le i \le N), el nivel de comprensión del Curso i aumentará en A_i.

  • Acción 2: Cubanito no asiste a la clase. En su lugar, elige uno cualquiera de los cursos, y estudia por su cuenta el curso elegido. Si estudia por su cuenta el Curso i (1 \le i \le N) durante una clase, el nivel de comprensión del Curso i aumentará en B_i.

Al principio, el nivel de comprensión de cada curso es 0. Como Cubanito quiere practicar programación competitiva después de clase, no estudiará fuera de la duración de las clases. Cuando terminen todas las clases del tercer semestre, se celebrará el examen final.

Cubanito no quiere suspender. Por lo tanto, quiere maximizar el nivel mínimo de comprensión de los cursos en el momento del examen final.

Tarea

Dada la duración del semestre, el número de cursos y los valores incrementales de los niveles de comprensión, escriba un programa que calcule el valor máximo posible del nivel mínimo de comprensión de los cursos en el momento del examen final.

Entrada

Lea los siguientes datos de la entrada estándar. Los valores dados son todos enteros.

N M

A_1 A_2 - - - A_N

B_1 B_2 - - - B_N

Salida

Escriba una línea en la salida estándar. La salida debe contener el valor máximo posible del nivel mínimo de comprensión de los cursos en el momento del examen final.

Restricciones

1 \le N \le 300 000.

1 \le M \le 1 000 000 000.

1 \le A_i \le 1 000 000 000 (1 \le i \le N).

1 \le B_i \le 1 000 000 000 (1 \le i \le N).

Suntaraes

  1. (10 puntos) M = 1.
  2. (25 puntos) N × M = 300 000, A_i = B_i (1 \le i \le N).
  3. (27 puntos) N × M = 300 000.
  4. (29 puntos) Ai = B_i (1 \le i \le N).
  5. (9 puntos) No hay restricciones adicionales.

Ejemplos de entrada y Salida

Ejemplo de entrada #1

3 3
19 4 5
2 6 2

Ejemplo de salida #1

18

Por ejemplo, si Cubanito estudia de la siguiente manera, el nivel de competencia de los cursos 1, 2 y 3 será 19, 18 y 19, respectivamente.

  • En la primera semana, en el momento del Curso 1, estudia para el Curso 2 por sí mismo.
  • En la primera semana, en el momento del Curso 2, estudia para el Curso 2 por sí mismo.
  • En la primera semana, en el momento del Curso 3, asiste a la clase del Curso 3.
  • En la segunda semana, a la hora del Curso 1, asiste a la clase del Curso 1.
  • En la segunda semana, a la hora del Curso 2, estudia por su cuenta para el Curso 3~.
  • En la segunda semana, a la hora del Curso 3, asiste a la clase del Curso 3.
  • En la tercera semana, a la hora del curso 1, estudia por su cuenta el curso 3.
  • En la tercera semana, a la hora del Curso 2, estudia por su cuenta para el Curso 2.
  • En la tercera semana, a la hora del Curso 3, asiste a la clase del Curso 3.

Como el nivel mínimo de comprensión de los cursos no puede ser mayor o igual que 19, la salida es 18.

Esta entrada de ejemplo satisface las restricciones de las subtareas 3, 5.

Ejemplo de entrada #2

2 1
9 7
2 6

Ejemplo de salida #2

7

Esta entrada de ejemplo satisface las restricciones de las subtareas 1, 3, 5

Ejemplo de entrada #33

5 60000
630510219 369411957 874325200 990002527 567203997
438920902 634940661 593780254 315929832 420627496

Ejemplo de salida #3

41397427274960

Esta entrada de ejemplo satisface las restricciones de las subtareas 3, 5.

Ejemplo de entrada #4

4 25
1 2 3 4
1 2 3 4

Ejemplo de salida #4

48

Esta entrada de ejemplo satisface las restricciones de las subtareas 2, 3, 4, 5.


Comments

There are no comments at the moment.