Apresentação

A Maratona de Programação é um evento da Sociedade Brasileira de Computação que existe desde o ano de 1996 (neste ano ocorre a XXIII edição do evento). A Maratona é uma competição classificatória (em duas fases) para as finais mundiais do concurso de programação International Collegiate Programming Contest (ICPC). A primeira fase (etapa regional classificatória) é disputada em várias sedes distribuídas por todo o país e os melhores times de cada sede classificam-se para a final brasileira da competição. Este ano a fase regional ocorrerá dia 15/Set em cerca de 50 sedes sedes regionais. A fase final ocorrerá dias 9 e 10/Nov em Salvador - BA.
 
Dentre os times de universidades do Brasil que participam da Maratona de Programação, são selecionadas os times que representam o Brasil na final mundial do ICPC. A cada ano o evento apresenta um grande crescimento no número de instituições e estudantes participantes. Na edição 2007/2008 cerca de 6700 times, aproximadamente 20000 estudantes, representando 1821 escolas de 83 países, competiram em regionais em todo o planeta e 100 times participaram da Final Mundial do evento em Banff, no Canadá. Na ocasião, quatro times brasileiros estiveram presentes nas finais mundiais. Já na edição 2016/2017, mais de 46 mil estudantes de quase 3000 escolas de mais de 103 países competiram em regionais em todo o planeta, e 133 times (cerca de 1% do total que iniciou a competição) participaram das finais mundiais do evento, em Rapid City, Estados Unidos. Seis times brasileiros estiveram presentes nessas finais mundiais.

 

A Maratona de Programação é destinada a alunos de cursos de graduação e início de pós-graduação na área de Computação e afins (Ciência da Computação, Engenharia de Computação, Sistemas de Informação, Matemática, etc). A Maratona de Programação visa reunir em um mesmo ambiente estudantes da área de computação, de forma que os mesmos, além de competir de uma forma saudável, possam: - interagirem com outros competidores de outras instituições e demonstrarem suas capacidades de resolver problemas, programarem e trabalharem em grupo; - desenvolverem um raciocínio rápido, de forma a lidar melhor com problemas computacionais de variadas complexidades; - buscarem conhecer o máximo de recursos das linguagens de programação; - se sentirem motivados a es tudar tópicos avançados da computação.

 

Os times são compostos por três alunos, que devem tentar resolver durante 5 horas o maior número possível dos cerca de 10 problemas que lhes são entregues no início da competição. Estes alunos têm à sua disposição apenas um computador e material impresso (livros, listagens, manuais) para vencer a batalha contra o relógio e os problemas propostos. Os competidores de cada time devem colaborar entre si para descobrir os problemas mais fáceis, projetar os testes, e construir as soluções que sejam aprovadas pelos juízes da competição. Alguns problemas requerem apenas compreensão, outros conhecimento de técnicas mais sofisticadas, e alguns podem ser realmente muito difíceis de serem resolvidos.
 

O julgamento de cada proposta de solução é estrito. Nos enunciados dos problemas constam exemplos dos dados de testes dos problemas, mas eles não têm acesso às instâncias de testes usadas pelos juízes. A cada submissão incorreta de um problema (ou seja, que deu resposta incorreta a uma das instâncias dos juízes) é atribuída uma penalidade de tempo. O time que conseguir resolver o maior número de problemas (no menor tempo acumulado com as penalidades, caso haja empate) é declarado o vencedor.
 

Maiores informações sobre o ICPC, a Maratona de Programação e tudo mais relacionado ao treinamento para competições de programação podem ser obtidas em:

http://icpc.baylor.edu/icpc/
http://maratona.ime.usp.br
http://www.inf.ufg.br/maratona/
http://www.facebook.com/maratonago
http://www.facebook.com/groups/maratonago/