TLE significa límite de tiempo excedido.
Ocurre cuando su código tarda más de lo que el creador del problema cree que debería tomar su código en ese idioma en particular. El creador del problema observa cuánto tiempo le lleva su código al juez y decide el límite de tiempo para el problema de acuerdo con eso.
Además de las razones populares como:
- Bucle infinito
- Complejidad de algoritmo no óptima
Algunas razones más no tan populares (principalmente se encontrará aquí, si no es un programador principiante o experto):
- Rendimiento del software: ¿los algoritmos de cálculo se ejecutarán más rápido cuando se implementen en Node.js en lugar de C?
- ¿Existe un método o algoritmo matemático para expresar la suma de un número y un número multiplicado por un radical como la fórmula (a + b) ^ 3?
- ¿Cuál es el mejor algoritmo para encontrar el número más pequeño (mínimo 40 dígitos) cuyo último dígito se mueve al frente y es nueve veces el número original?
- ¿Qué tipo de algoritmo de programación de CPU se utiliza actualmente en los sistemas operativos?
- Cómo escribir un programa para implementar la búsqueda binaria
- Demasiadas llamadas a funciones, si puede hacerlo de manera iterativa, sin llamar a una función, demasiadas veces, debe hacerlo.
- Algunos métodos que ha implementado son demasiado lentos. Los más comunes son los métodos de entrada / salida
- Inicialización innecesaria, es posible que en el código del configurador del problema, esas inicializaciones no estén allí y en las suyas, lo estén, tomando un poco de tiempo extra, suficiente para darle TLE.
- El solucionador de problemas ha pensado en alguna forma inteligente de disminuir el tiempo real de ejecución del código mediante técnicas como almacenar algunos valores intermedios que el código usa con frecuencia, para que su código no pierda su tiempo una y otra vez por lo mismo.
- El creador de problemas quiere forzar el uso de optimizaciones tanto como las hay. El siguiente problema de Sphere Online Judge (SPOJ) en spoj, al menos no pude aceptarlo usando variables y operaciones enteras, tuve que usar operaciones de bits y bits.
- Las optimizaciones de factor constante, el problema anterior y muchos más solo pueden tener una optimización de factor constante sobre el código normal. Juez Esfera Online (SPOJ)
Editar :: Olvidé este punto importante.
7. Asegúrese de no usar demasiada memoria, cuanta más memoria use, más lento será su código. A veces, puede vencer a TLE mediante optimizaciones de memoria que reducirán la complejidad de su tiempo.
Cuando intenté resolver este problema de http://www.spoj.com/problems/IOI… con el espacio O (n ^ 2), el código TLEd, pero con la memoria O (n), pasó
Antes de darle la solución a su código, le sugiero que analice estos motivos y vea si alguno de ellos encaja. Con suerte, lo hará.
Buena suerte.