Skip to content

Instantly share code, notes, and snippets.

@Trindaz
Last active August 29, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Trindaz/f80951892fd32d31bd1d to your computer and use it in GitHub Desktop.
Save Trindaz/f80951892fd32d31bd1d to your computer and use it in GitHub Desktop.
Fixes for score precision at https://www.codeeval.com/ranking/
def get_submission_score(score, memory_taken, time_taken, category):
"""
@param score: the score which is received by test-cases
@param memory_taken: memory taken by submission
@param time_taken: time taken by submission
@param category: Easy(1)/Moderate(2)/Hard(3)
"""
total_max = {
1: 35, # max 35 points for Easy challenge
2: 65, # max 65 points for Moderate challenge
3: 100 # max 100 points for Hard challenge
}
max_memory = float(20 * 1024 * 1024) # 20 MB
max_time = float(10 * 1000) # 10 sec
# if submission takes more than 10 seconds
# or uses more than 20MB of memory
# the score is 0
if memory_taken > max_memory or time_taken > max_time:
return 0
max_total_score = total_max[category]
memory_factor = 1 - memory_taken/max_memory
time_factor = 1 - time_taken/max_time
factor = (memory_factor + time_factor)/2
return score * max_total_score * factor / 100
@Trindaz
Copy link
Author

Trindaz commented May 7, 2014

diff -w code_eval_score.py code_eval_score_original.py 
14,15c14,15
<     max_memory = float(20 * 1024 * 1024)  # 20 MB
<     max_time = float(10 * 1000)  # 10 sec

---
>                 max_memory = 20 * 1024 * 1024  # 20 MB
>                 max_time = 10 * 1000  # 10 sec
29a30
>             
\ No newline at end of file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment