Manejo de números enormes

Eso es lo que te estamos diciendo, tu código en C++ tiene errores en el manejo de tipos, por eso da resultados erróneos el programa. No puedes hacer una adaptación de un código de Phyton sin tener en cuenta la diferencia en manejos de tipos: dinámico en uno y estricto en el otro.