Logo da Maratona SBC

A Maratona de Programação é um evento da Sociedade Brasileira de Computação que existe desde o ano de 1996. Nasceu das competições regionais classificatórias para as etapas mundiais da competição de programação, o International Collegiate Programming Contest, e é parte da super-regional latino americana do evento.

Ela se destina a alunos e alunas 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 competição promove nos estudantes a criatividade, a capacidade de trabalho em equipe, a busca de novas soluções de software e a habilidade de resolver problemas sob pressão. A cada ano, observa-se que as instituições de ensino e, principalmente, as grandes empresas da área têm valorizado os alunos que participam do evento.

Várias instituições de ensino superior do Brasil desenvolvem competições locais para escolher seus melhores times para competirem na Maratona de Programação, e os melhores na Final Nacional (regional latino-americana) são selecionados para participarem das Finais Latino-Americanas do evento, a "Programadores de América" onde são selecionados os time s que representam a América Latina nas finais mundiais do ICPC. O ICPC conta com mais de 400.000 alumni, e nos últimos anos reúne participantes de mais de 100 países, 3500 universidades e 75.000 competidores, coaches e voluntários. Na América Latina já tivemos mais de 100000 participações de estudantes na regional, dos quais, aproximadamente um terço são brasileiros.

Os times são compostos por três estudantes, que tentarão resolver durante cinco horas o maior número possível dos dez ou mais problemas fornecidos. Eles têm à sua disposição apenas um computador e material impresso (livros, listagens, manuais, etc.) para vencer a batalha contra o relógio e a prova proposta. Os competidores do time devem colaborar para descobrir os problemas mais fáceis, projetar os testes, e construir as soluções que sejam aprovadas pelos juízes da competição. Certos 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 é estrito. Nos enunciados dos problemas constam exemplos dos casos de testes, mas os times não têm acesso às instâncias verificadas pelos juízes. A cada submissão incorreta de um problema (ou seja, que a solução proposta apresenta 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) é declarado o vencedor.