def get_problem_scores()

in run_tests/selection_simulator.py [0:0]


def get_problem_scores(selected_dataset_samples) -> float:
    if not selected_dataset_samples:
        return 0.0
    
    subtask_scores = {
        subtask['subtask']: 0 for subtask in selected_dataset_samples[0]['all_subtasks_results']
    }

    for submission in selected_dataset_samples:
        for subtask_result in submission['all_subtasks_results']:
            subtask_scores[subtask_result['subtask']] = max(subtask_scores[subtask_result['subtask']], subtask_result['weighted_score'])

    return sum(subtask_scores.values())