Depois que a Maratona de Programação se tornou uma tradição no Brasil, também se tornou tradição a realização de competições de programação do tipo Maratona, que tem como objetivo divulgar o tipo de prova, proporcionar um ambiente de treinamento para as competições e também se divertir.
A seguir, os principais características de uma prova do Tipo Maratona de Programação, marcados em verde o que será utilizado na Maratona de Férias:A versão oficial é de 5 horas. Mas, existem as variantes de 3 horas, 2 horas e meia, também chamada de Meia-maratona, e até de menos de duas horas, ou mini-maratonas.
Promove aos estudantes a capacidade de trabalho em equipe e a habilidade de resolver problemas computacionais sob pressão. Dado que a pontuação é relacionada ao tempo.
Dentro do limite de tempo da prova, resolver o maior número possível dos 7 ou mais problemas que são disponibilizados no início da competição. E com a menor penalidade de tempo possível.
Em geral, e na versão oficial, são 3 membros no time. Em versões informais, pode ser em dupla ou individual.
Um único computador, que deve ser compartilhado pelos membros do time e uma cópia do caderno de questões para cada membro do time.
Em versões informais, os cadernos podem estar disponíveis on-line, ou uma cópia impressa por time
Estas restrições tornam a Maratona mais interessante ainda, pois além da própria dificuldade dos problemas, os participantes ainda deverão racionar um mesmo computador.
Na versão oficial, é permitido o uso de livros, e outros materiais impressos, mas nada digital.
Os problemas abordam as mais diversas áreas de algoritmos de programação tais como a geometria, teoria dos números, estrutura de dados, grafos entre outros. Há uma classificação dos problemas, já utilizada no estudo de algoritmos.
A tarefa dos times, em cada um dos problemas, é escrever um programa que, dada uma entrada (seguindo as regras do enunciado), retorne a saída esperada e, com isso, seja aceito pelo juiz online (programa hospedado em um servidor cuja finalidade é julgar se sua solução está ou não de acordo com o esperado). Para isso, além do enunciado, cada problema é acompanhado de um caso de teste (entrada + saída esperada), justamente para servir de exemplo. Porém os casos utilizados pelo juiz online para avaliar o seu programa não são disponibilizados ao competidor durante a prova.
Para conhecer os online judges mais usados por aqui, ver problemas e treinar, veja mais detalhes
O símbolo da Maratona de Programação são os balões! A cada problema resolvido o time recebe um balão da cor correspondente ao problema. O objetivo é obter o maior número de balões!
O critério de desempate para competidores que obtiveram o mesmo número de balões é a penalidade. Toda questão aceita pelo juiz online traz consigo uma penalidade calculada da seguinte forma: [número de tentativas erradas do problema x 20] + [tempo (em minutos) para acertar o problema].
Dessa forma, a primeira hora de prova, em geral, é uma corrida contra o tempo entre os times para acharem as questões mais fáceis e solucioná-las o mais rápido possível e com a menor quantidade de erros.
Tendo em vista que a competição é de 5 horas, em geral existe um lanche fornecido pela organização da prova, disponível aos participantes durante a competição
Na prova brasileira, em novembro, há medalhas de ouro (4 primeiros colocados), prata (quinto ao oitavo lugar) e bronze (nono ao décimo segundo lugares) para os primeiros colocados. Já nas versões informais, em geral, somente os balões.
Patrocínios de empresas para a premiação são sempre bem-vindos pelos organizadores, porém, não acontecem com frequência.