Casi en cada problema en Spoj, veo comentarios como este. (Funciona bien en Ideone pero WA / TLE / NZEC aquí)
¿Qué quieres decir con “funciona bien en Ideone”?
- Washington
Bueno. Su código está produciendo la salida correcta para los casos de prueba de muestra u otros casos de prueba hechos a mano.
Pero puede haber algunos otros casos de prueba de esquina. Para muchos problemas, descubrirlos es la parte más complicada. Entonces, su código no está “funcionando bien”. Tiene errores, depúralos. - TLE
Su código es lo suficientemente rápido para los casos de prueba de muestra (que en la mayoría de los casos son muy pequeños en comparación con las restricciones originales). Entonces, ¿cómo sabes que tu código está “bien”? Intenta ejecutar tu código con valores más grandes. Puede ser que su algoritmo no sea lo suficientemente rápido, intente optimizarlo. - NZEC
Los errores más comunes son la división por 0 y el índice fuera de rango.
Al igual que en los casos de WA y TLE, puede estar ignorando algunos casos de esquina que conducen a la división por 0 o puede estar tratando de acceder a un índice fuera de rango para algunos valores de entrada más grandes.
Nota final: siempre ejecute su código contra los valores máximos especificados en las restricciones, entonces sabrá si su algoritmo es lo suficientemente rápido / si alguna variable se desborda, etc.
Además, si está utilizando lenguajes lentos como Python / Java y está experimentando TLE, es posible que el problema no se pueda resolver con esos. Verifique la lista de clasificación para asegurarse de que el problema sea solucionable o no.