Construyendo un súper número


Submit solution

Points: 100 (partial)
Time limit: 0.1s
Java 0.3s
Memory limit: 2M

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

Bytezar se construye un número como sigue:

Primer paso: se empieza con un numero N = 2008

Segundo paso: se escribe 2008 entre todos los dígitos del número anterior y se tiene

2 2008 0 2008 0 2008 8

Tercer paso: se inserta como antes 2008 entre todos los dígitos del número anterior y se tiene:

2200822008020080200882008020082200802008020088200802008220080200802008820088

(las 2008~ en negrita solo se ponen para mostrar cómo se construye el número en cada paso)

Tarea

Escriba un programa que determine para un paso K dado y un número N de comienzo, cuántas cifras tiene este número. Además, se da un valor V (1 o 2) el cual si es 2 debe de decir si dicho número es divisible por 3.

Especificación de la Entrada

La entrada estándar contiene en la primera línea tres números naturales V, K y N separados por un simple espacio.

Especificación de la Salida

La salida estándar contendrá la cantidad de cifras C que tiene este número en el paso K. Como C puede ser muy grande imprima este resultado módulo 34047161064. En la segunda línea aparecerá la palabra "Si" o "No" sin las comillas, si este es divisible por 3, en caso del valor de V ser igual a 2.

Restricciones y especificaciones

  • 1 \le V \le 2
  • 1 \le K \le 1 000
  • 10 \le N \le 10 000 000
  • Si V = 2, K \le 40,
  • Para el 50 % de los puntos V = 2
  • Para el 50 % de los puntos V = 1
  • N no será una potencia de 10, si V = 2

Ejemplo #1 de Entrada

1 5 2008

Ejemplo #1 de Salida

1876

Explicación

1876 dígitos

Ejemplo #2 de Entrada

2 5 2008

Ejemplo #2 de Salida

1876
No

Explicación

1876 dígitos. La suma de los dígitos del quinto número es 4690 el cual no es múltiplo de 3 y en consecuencia no lo es el quinto paso.

Ejemplo #3 de Entrada

2 7 4218

Ejemplo #3 de Salida

46876
Si

Explicación

46876 dígitos. La suma de los dígitos del séptimo número es 175785 el cual es múltiplo de 3 y en consecuencia es el séptimo paso.


Comments


  • 1
    danielmantilla10  commented on Dec. 9, 2024, 7:25 p.m.

    algo que me paso: Yo envie mi solucion a este problema y me dio MLE en algunos casos , volvi a enviar la misma solucion y me dio todo AC. Alguien me puede explicar porque pasa eso , o si es un error?


    • 2
      karellgz  commented on Dec. 9, 2024, 9:13 p.m.

      La ejecución de un programa no suele ser determinista incluso cuando tu algoritmo sí es determinista.

      Hay factores que lo hacen de alguna forma impredecible (aunque sean casi despreciables estas variaciones) desde la cantidad de procesos en ejecución, versión del kernel hasta la temperatura del procesador (fuente de este último: reddit)


  • 0
    Velita123  commented on Nov. 22, 2024, 11:15 p.m.

    Alguien puede revisar mi solucion...Todos me dan AC menos uno que me da WA


  • 0
    yan_cespedes06  commented on Jan. 21, 2024, 4:43 p.m.

    °___° mejoraron la pagina °________________________________________________________°


  • 4
    Zoro  commented on Sept. 21, 2023, 4:35 p.m.

    define optimizar_io ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);cout.setf(ios::fixed);cout.precision(0);


    • 1
      angelmh  commented on Sept. 23, 2023, 4:58 p.m.

      Entiendo esa optimización para c++ pero me refiero que me dan el mismo límite de tiempo a c++ y a Java, eso me parece que está incorrecto ya que Java es mucho más lento


  • 1
    angelmh  commented on Sept. 21, 2023, 2:04 p.m. edited

    Solución AC en C++ pero no en Java, no se tiene en cuenta diferenciar el tiempo de ejecución para cada lenguaje por separado?


    • 1
      josed  commented on Sept. 26, 2023, 8:09 p.m.

      Sí se tiene en cuenta. Cuando el problemsetter crea el problema debería especificar los tiempos para cada lenguaje, pero muchas veces sucede que se especifica el mismo tiempo para todos o se usa un multiplicador que no siempre es correcto.

      Para este caso ajusté los tiempos de Java para que las soluciones entren.


  • 1
    angelmh  commented on Sept. 13, 2023, 9:33 p.m.

    Cómo optimizar este programa (en Java) si uso Fast I/O, el algoritmo para generar la longitud pedida se haya linealmente en K iteraciones con puro cálculo aritmético? Creo que el límite de 0.1s para Java está un poco apretado para un AC, siempre dará TLE


    • 1
      josue  commented on Sept. 14, 2023, 12:27 p.m.

      Si


  • 1
    Davisito10  commented on Aug. 28, 2023, 4:19 p.m.

    no se xq me da wa


    • 1
      Ahmed05  commented on Aug. 28, 2023, 4:24 p.m.

      No estas modulando


      • 1
        Davisito10  commented on Aug. 29, 2023, 5:56 p.m.

        ya gracias lo resolví


  • 1
    smauwl_spike  commented on March 31, 2023, 1:58 p.m.

    ban


  • -17
    lalo_bemudez  commented on June 24, 2020, 7:03 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.