Race.


Submit solution

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

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

Bessie está participando en una carrera de K metros. Comienza con una velocidad de 0 metros por segundo. En un segundo dado, ella puede aumentar su velocidad por 1 metro por segundo, mantenerlo sin cambiar, o disminuirlo por 1 metro por segundo. Por ejemplo, en el primer segundo, ella puede aumentar su velocidad a 1 metro por segundo y correr un mentro, o mantenerlo en 0 metros por segunod y correr 0 metros. La velocidad de Bessie nunca puede estar debajo de cero.

Bessie siempre correrá a la meta, y ella quiere terminar después de un número entero de segundos. Aún más, ella no quiere estar corriendo mucho en la meta: en el instante en que ella termine de correr K metros, ella quiere que la velocidad que tenga no sea mayor que X metros por segundo. Bessie quiere saber cuán rápidametne puede terminar su carrera para N valores diferentes de X.

Entrada

  • La primera línea contiene dos enteros K y N.
  • Cada una de las siguientes N líneas contiene un solo entero X

Salida

Dé como salida N líneas, cada una conteniendo un solo enero que el tiempo mínimo que Bessie necesita para correr K metros de tal menra que termine con una velocidad menor o igual que X.

Restricciones

  • 1 \leq K \leq 10^9
  • 1 \leq X \leq 10^5
  • 1 \leq N \leq 1000

Ejemplo de Entrada

10 5
1
2
3
4
5

Ejemplo de Salida

6
5
5
4
4

Explicación del Ejemplo

Cuando X=1 la solución óptima es:

 Aumentar la velocidad a 1 m/s, recorrer 1 metro.
 Aumentar la velocidad a 2 m/s, recorrer 2 metros, para un total de 3 metros.
 Mantener la velocidad en 2 m/s, recorer 5 metros en total.
 Mantener la velocidad en 2 m/s, recorrer 7 metros en total.
 Mantener la velocidad en 2 m/s, recorrer 9 metros en total.
 Disminuir la velocidad a 1 m/s, recorrer 10 metros en total.

Cuando X=3, una solución óptima es:

Aumentar la velocidad a 1 m/s, recorrer 1 metro
Aumentar la velocidad a 2 m/s, recorrer 3 metros en total
Aumentar la velocidad a 3 m/s, recorrer 6 metros en total
Mantener la velocidad en 3 m/s, recorrer 9 metros en total
Mantener la velocidad en 3 m/s, recorrer 12 metros en total

Note que lo siguiente es ilegal cuando X=3:

Aumentar la velocidad a 1 m/s, recorrer 1 metro
Aumentar la velocidad a 2 m/s, recorer 3 metros en total
Aumentar la velocidad a 3 m/s, recorrer 6 metros en total
Aumentar la velocidad a 4 m/s, recorrer 10 metros en total

Esto es debido a que el instante en que Bessie ha terminado de coorer 10 metros, su velocidad es 4 m/s.

USACO 2020 January Contest, Bronze Problem 3. Race.


Comments

There are no comments at the moment.