def update_conteudo_csv (cartoletas, conteudo_csv, dict_probabilidades_vitoria_elenco, dict_aproveitamento_clubes):
	alg = "Selecao da Rodada"
	formacoes = ["4-4-2", "4-3-3", "4-5-1", "3-5-2", "3-4-3", "5-3-2", "5-4-1"]
	time_convocado_selecao = algoritmo.get_melhor_formacao_algoritmo(alg, cartoletas, conteudo_csv, formacoes, info, None)
	custo_selecao = mat_cartola.get_valor_indice_acumulado_time(time_convocado_selecao, info, "preco")
	print "Custo da Selecao da Rodada usando Medias do Cartola FC: {0}".format(custo_selecao)

	for i in range(1, len(conteudo_csv)):
		jogador = conteudo_csv[i]
		id_time = jogador[info["clube_id"]]
		media_jogador = jogador[info["media"]] 
		jogadores_time = util.obtem_jogadores_por_time (conteudo_csv, id_time, info)
		time_atual = []
		time_atual.append(jogadores_time)
		import pdb

		probabilidade_vitoria_elenco = dict_probabilidades_vitoria_elenco[id_time]
		aproveitamento_time = mat_cartola.get_porcentual_aproveitamento(dict_aproveitamento_clubes, id_time)
		variacao_preco = jogador[info["variacao_preco"]]
		preco = jogador[info["preco"]]
		percentual_participacao = info["percentual_participacao"]


		# rodada 14: 00.00 C$: 113.74
		importancia_cartoleta = ((cartoletas - custo_selecao) / custo_selecao) * (variacao_preco / preco)	
		jogador[info["media"]] = media_jogador * percentual_participacao * probabilidade_vitoria_elenco * aproveitamento_time
		jogador[info["media"]] = jogador[info["media"]] + importancia_cartoleta * jogador[info["media"]]

		# rodada 13: 45.85 C$: ~110
		# importancia_cartoleta = ((cartoletas - custo_selecao) / custo_selecao) * (variacao_preco / preco)	
		# jogador[info["media"]] = media_jogador * percentual_participacao * probabilidade_vitoria_elenco * aproveitamento_time
		# jogador[info["media"]] = jogador[info["media"]] + importancia_cartoleta * jogador[info["media"]]

		# recorde do programa - rodada 12: 53.79 C$: ~102.
		#jogador[info["media"]] = media_jogador * probabilidade_vitoria_elenco - variacao_preco

		conteudo_csv[i] = jogador	
	return conteudo_csv
logging.debug (dict_aproveitamento_clubes)
dict_probabilidades_vitoria_elenco = mat_cartola.get_probabilidade_vitoria_elencos(json_clubes, conteudo_csv, info)
conteudo_csv = update_conteudo_csv(cartoletas, conteudo_csv, dict_probabilidades_vitoria_elenco, dict_aproveitamento_clubes)
algoritmos = ["Balanceado", "Balanceado V2", "Aleatorio", "Estrela Solitaria", "Genetico"]
# algoritmos = ["Balanceado"]
# algoritmos = ["Balanceado V2"]
# algoritmos = ["Aleatorio"]
# algoritmos = ["Estrela Solitaria"]
# algoritmos = ["Genetico"]

times_campeoes = {}
medias_campeoes = {}

for alg in algoritmos:
	if alg != "Genetico":
		times_campeoes[alg] = algoritmo.get_melhor_formacao_algoritmo(alg, cartoletas, conteudo_csv, formacoes, info, None)
	else:
		if len(medias_campeoes) != 0:
			limiar_algoritmo_genetico = max(medias_campeoes)
		else:
			limiar_algoritmo_genetico = 200.00

		print ("Limiar para algoritmo genetico: {0}".format(limiar_algoritmo_genetico))
		times_campeoes[alg] = algoritmo.get_melhor_formacao_algoritmo(alg, cartoletas, conteudo_csv, formacoes, info, limiar_algoritmo_genetico)
	
	media_time_campeao_alg = mat_cartola.get_valor_indice_acumulado_time(times_campeoes[alg], info, "media")
	medias_campeoes[media_time_campeao_alg] = alg

idx_vencedor_geral = max(medias_campeoes)
algoritmo_vencedor_geral = medias_campeoes[idx_vencedor_geral]
print "Vencedor Geral: {0}".format(algoritmo_vencedor_geral)