Research and Project 
/Style Library/fei/img/ambientacao/amb_img_proj_maratona.jpg 
/Style Library/fei/img/ambientacao/bg-amb-azul.png 

Carregando conteúdo...

 Programming Marathon  

What is it?

FEI’s Programming Marathon project is designed to develop and train teams of FEI students to participate in the Programming Marathon competitions promoted nationwide by SBC (Brazilian Computing Society). At FEI, meetings and preparations occur principally on Saturdays, under the coordination of Prof. Paulo Sergio Rodrigues,

Programming Marathon at SBC

SBC’s Programming Marathon is a challenge between teams of students from large Universities to solve computing problems at various levels. There are annual tournaments at a regional, national and international level.


The Programming Marathon is an event which assembles the best programmers for the purpose of solving challenging programming problems at a number of different levels. Whoever solves the biggest number of tasks in the shortest possible time is the winner. The judge is electronic.

The completion of a task implies developing a program which solves a specific problem. The program is run without graphical interfaces and must receive an input which contains the parameters of the problem so as to give out the required answer. As an example of a task, we have a problem where the input is the value N and the program solution must give an answer which is the sum of the numbers 1 and N.

In this case, the problem is simple, but in a real competition we encounter highly challenging problems. As a matter of fact, the fun of the competition is precisely that. The programs never have a pretty appearance, but their ideas most often reveal genius.

The solution to a problem is evaluated by using a group of tests of the problem. This group consists of different inputs for the problem and its outputs, or rules to validate the corresponding outputs. It is important to mention that the participants never have access to these test groups during the competition.

When a problem is evaluated, running it against the tests, there is a time limit for the program to return the answer. Exceeding this time limit is considered to be a fault and therefore inefficient solutions are blocked.

The participants’ solutions can be evaluated during or after the competition, and points are awarded only if the program passes all or part of the tests, points being given in the case of each test that the program solves correctly.