Informamos que, o grupo PET-fronteira do CPPP/UFMS, está oferecendo treinamento com o objetivo de criar equipes para competir na maratona de programação e conseguir uma vaga para a etapa Nacional. O início treinamento está previsto para o começo de junho e será realizado até a data da primeira fase da maratona que é 15/09/2012. O requisito para participar é ter sido aprovado na disciplina Algoritmos e Programação 2. Contamos com a presença de pessoas com o espírito competitivo e que goste de programar.


Qualquer dúvida, por favor, enviem um e-mail para:
Willian: willian.camargosouza@gmail.com


A seguir, seguem informações sobre o que é e como funciona a Maratona de Programação, além de algum contexto histórico. 


A Maratona de Programação faz parte do Concurso Internacional de Programação da ACM (ACM International Collegiate Programming Contest), também conhecido por ICPC.  O ICPC é uma competição anual de programação entre universidades do mundo todo. A competição é patrocinada pela IBM. As finais mundiais do ICPC se tornaram ao longo de sua história um evento de 4 dias organizado a cada ano em uma cidade diferente do mundo. Já houveram finais em Shangai (China), Tokyo (Japão), Texas (EUA), Praga (República Checa), Califórnia (EUA), Honolulu (Hawaii), Vancouver (Canadá), Eindhoven (Holanda), Orlando (EUA),  etc. Na final Mundial de 2009, que foi realizada em Estocolmo na Suécia, o evento seguiu a tradição do Prêmio Nobel, com a abertura ocorrendo no Palácio Municipal e o encerramento na sala de concerto da cidade, lugar onde também é realizada a cerimônia de entrega do Prêmio Nobel. 

O ICPC é uma competição em equipes. As regras estipulam que cada equipe seja composta de três estudantes. Os membros do time devem ter participado de no máximo uma final mundial do concurso da ACM, de no máximo 4 regionais sul-americanas do concurso e devem ter iniciado seus estudos universitários no ano de 2007 ou anos posteriores (a contar do início do primeiro curso universitário do aluno) ou ter nascido em 1988 ou anos posteriores.


Durante a competição, as equipes têm 5 horas para resolver entre 8 e 11 problemas computacionais (com tipicamente 8 problemas para as regionais e 10 para a final mundial). As soluções devem ser submetidas em C, C++ ou Java. Os programas são então testados com casos de teste e, se o programa produzir alguma resposta errada ou não for suficientemente eficiente, ele não é aceito e a equipe é notificada disso. O vencedor é a equipe que resolver mais problemas corretamente.

Se necessário, em caso de empate no número de problemas resolvidos, a classificação das equipes é determinada pela soma dos tempos das submissões corretas de cada problema. Cada problema que é submetido com erro e rejeitado acarreta em uma penalidade de 20 minutos na soma total do tempo utilizado pela equipe para apresentar suas soluções.

As equipes podem levar livros, apostilas e um computador com alguns algoritmos já implementados para maior agilidade na apresentação de soluções para os problemas.


A competição se dá em várias etapas.  No caso do Brasil existe uma fase sub-regional, que ocorre em várias sedes pelo país a fim de definir quais serão os times que irão para a fase regional (chamada de final brasileira). A etapa brasileira é organizada pela Maratona de Programação, que coordena a fase sub-regional e a fase regional da competição. Na etapa sub-regional, cada universidade é livre para definir da forma como desejar seus representantes. Este ano a etapa sub-regional será realizada na UCDB em Campo Grande, onde estarão os alunos de quaisquer universidades do MS que tenham times para competir, e a etapa regional será em na UEL em Londrina.