}
}
-use constant LEVEL_VALUES => {
- beginner => 100,
- easy => 250,
- medium => 500,
- hard => 1000,
-};
-
sub calc_score{
my ($mxscore, $time, $tries, $totaltime) = @_;
my $score = $mxscore;
my $open = $self->opens->find($ct->id, $job->problem->id, $job->owner->id);
my $time = $job->date - ($open ? $open->time : $ct->start);
next if $time < 0;
- my $value = $job->problem->value // LEVEL_VALUES->{$job->problem->level};
+ my $value = $job->problem->value;
my $factor = $job->result ? 0 : 1;
$factor = $1 / 100 if $job->result_text =~ /^(\d+ )/;
$scores{$job->owner->id}{$job->problem->id} = int ($factor * calc_score ($value, $time, $tries{$job->owner->id}{$job->problem->id}++, $ct->stop - $ct->start));