Need a little help distributing points in a competition

Associate
Joined
23 Mar 2006
Posts
1,739
Hi,

I've started running a programming competition at work and need a little help working out how to distribute points between the entrants.

75 points are on offer for execution time. I had initially decided that the slowest gets 0 points and the fastest gets 75, everyone else gets a proportion based on where they sit between fastest and slowest. However one entry is taking significantly longer ( 250secs for most, this one is going on over 1hr!), so using the stated method means everyone but this one gets 75points (I'm not going to enough decimal places to make them actually different).

Any ideas how I could distribute the points?
 
How on earth is someone taking an hour to do something that's taking most people 5 minutes? Have they died?

His solution passed the validity tests so I am assuming it is still working.

There are two approaches to the problem, the mathematical approach that yields the quickest time and the brute force approach that is simpler to devise but takes longer.

As the brute force approach involves lots of loops it can take significantly longer, especially as in this case the number of times it is looping can be up to the (2^64)-1
 
Why can't you just distribute the points based on position? So, if you had 16 people the person who finished first would get the 75 points, the person who finishes second gets 70 and so on down to 0 for last place?

I understand the desire to distribute points based on a relative basis but it's only a little competition and most major sports competitions (which are slightly more important) are based on a simple scoring system like that.

The number of entrants will change from round to round.
 
Back
Top Bottom