Considere o código Python abaixo, projetado, hipoteticamente, para implementar uma função de hash aplicada no âmbito da segurança cibernética da Marinha do Brasil. Sabe-se que as complexidades em termos de tempo de execução de "func1", "func2" e "func3" são definidas com base no parâmetro único "N" de entrada de cada uma delas e são iguais, respectivamente, a O(N), O(N2) e O(N2.log(N)). Assinale a opção com a correta complexidade global do código em função de "N".
import libtamandare as ltan
hash_final = 0
for i in range(0, N):
hash_final += ltan.func1(N, hash_final)
for j in range(i, N):
hash_final %= ltan.func2(N, hash_final)
iter = 1
while iter < N:
iter *= 3
hash_final -= ltan.func3(N, hash_final)
return hash_final