use constant CONTEST_PUBLIC_COLUMNS => [qw/id name description start stop owner/];
use constant PROBLEM_PUBLIC_COLUMNS => [qw/id author writer level name owner private timeout olimit value/];
use constant USER_PUBLIC_COLUMNS => [qw/id admin name town university country level/];
use constant CONTEST_PUBLIC_COLUMNS => [qw/id name description start stop owner/];
use constant PROBLEM_PUBLIC_COLUMNS => [qw/id author writer level name owner private timeout olimit value/];
use constant USER_PUBLIC_COLUMNS => [qw/id admin name town university country level/];
my $id = $_->id;
+{ $_->get_columns,
solved => ($solved{$id} // 0),
attempted => ($attempted{$id} // 0),
contests => ($contests{$id} // 0) }
my $id = $_->id;
+{ $_->get_columns,
solved => ($solved{$id} // 0),
attempted => ($attempted{$id} // 0),
contests => ($contests{$id} // 0) }