|
|
:css
|
|
|
.hof_user { color: orangered; font-style: italic; }
|
|
|
.hof_language { color: green; font-style: italic; }
|
|
|
.hof_value { color: deeppink;font-style: italic; }
|
|
|
|
|
|
%h2 Overall of #{Problem.find(params[:id]).full_name}
|
|
|
|
|
|
- if @best
|
|
|
%b Best Runtime:
|
|
|
by #{link_to @best[:runtime][:user], controller:'users', action:'profile', id:@best[:memory][:user_id]}
|
|
|
using <span class="hof_language">#{@best[:runtime][:lang]}</span>
|
|
|
with <span class="hof_value">#{@best[:runtime][:value] * 1000} milliseconds</span>
|
|
|
at submission
|
|
|
= link_to("#" + @best[:runtime][:sub_id].to_s, controller: 'graders', action: 'submission', id:@best[:runtime][:sub_id])
|
|
|
%br/
|
|
|
|
|
|
%b Best Memory Usage:
|
|
|
by #{link_to @best[:memory][:user], controller:'users', action:'profile', id:@best[:memory][:user_id]}
|
|
|
using <span class="hof_language">#{@best[:memory][:lang]}</span>
|
|
|
with <span class="hof_value">#{number_with_delimiter(@best[:memory][:value])} kbytes </span>
|
|
|
at submission
|
|
|
= link_to("#" + @best[:memory][:sub_id].to_s, controller: 'graders' , action: 'submission', id:@best[:memory][:sub_id])
|
|
|
%br/
|
|
|
|
|
|
%b Shortest Code:
|
|
|
by #{link_to @best[:length][:user], controller:'users', action:'profile', id:@best[:length][:user_id]}
|
|
|
using <span class="hof_language">#{@best[:length][:lang]}</span>
|
|
|
with <span class="hof_value">#{@best[:length][:value]} bytes</span>
|
|
|
at submission
|
|
|
= link_to("#" + @best[:length][:sub_id].to_s, controller: 'graders' , action: 'submission', id: @best[:length][:sub_id])
|
|
|
%br/
|
|
|
|
|
|
%b First solver:
|
|
|
#{link_to @best[:first][:user], controller:'users', action:'profile', id:@best[:first][:user_id]} is the first solver
|
|
|
using <span class="hof_language">#{@best[:first][:lang]}</span>
|
|
|
on <span class="hof_value">#{@best[:first][:value]}</span>
|
|
|
at submission
|
|
|
= link_to("#" + @best[:first][:sub_id].to_s, controller: 'graders' , action: 'submission', id: @best[:first][:sub_id])
|
|
|
%br/
|
|
|
|
|
|
|
|
|
%p
|
|
|
This counts only for submission with 100% score <br/>
|
|
|
Right now, java is excluded from memory usage competition. (Because it always uses 2GB memory...)
|
|
|
|
|
|
%h2 By language
|
|
|
|
|
|
%table.info
|
|
|
%thead
|
|
|
%tr.info-head
|
|
|
%th Language
|
|
|
%th Best runtime (ms)
|
|
|
%th Best memory (kbytes)
|
|
|
%th Shortest Code (bytes)
|
|
|
%th First solver
|
|
|
%tbody
|
|
|
- @by_lang.each do |lang,value|
|
|
|
%tr{class: cycle('info-even','info-odd')}
|
|
|
%td= lang
|
|
|
%td
|
|
|
= link_to value[:runtime][:user], controller: 'users', action: 'profile', id: value[:runtime][:user_id]
|
|
|
= "(#{(value[:runtime][:value] * 1000).to_i} @"
|
|
|
= "#{link_to("#" + value[:runtime][:sub_id].to_s, controller: 'graders' , action: 'submission', id: value[:runtime][:sub_id])} )".html_safe
|
|
|
%td
|
|
|
= link_to value[:memory][:user], controller: 'users', action: 'profile', id: value[:memory][:user_id]
|
|
|
= "(#{number_with_delimiter(value[:memory][:value])} @"
|
|
|
= "#{link_to("#" + value[:memory][:sub_id].to_s, controller: 'graders' , action: 'submission', id: value[:memory][:sub_id])} )".html_safe
|
|
|
%td
|
|
|
= link_to value[:length][:user], controller: 'users', action: 'profile', id: value[:length][:user_id]
|
|
|
= "(#{value[:length][:value]} @"
|
|
|
= "#{link_to("#" + value[:length][:sub_id].to_s, controller: 'graders' , action: 'submission', id: value[:length][:sub_id])} )".html_safe
|
|
|
%td
|
|
|
- if value[:first][:user] != '(NULL)' #TODO: i know... this is wrong...
|
|
|
= link_to value[:first][:user], controller: 'users', action: 'profile', id: value[:first][:user_id]
|
|
|
= "(#{value[:first][:value]} @"
|
|
|
= "#{link_to("#" + value[:first][:sub_id].to_s, controller: 'graders' , action: 'submission', id: value[:first][:sub_id])} )".html_safe
|
|
|
|
|
|
- else
|
|
|
%h3 No submissions
|
|
|
|