def METHOD_NAME(self, results):
    """
    Calculates a combination sum by multiplying each score by its weight.
    """
    scores_map = defaultdict(int)
    weights = self.weights if self.weights else [1 / len(results)] * len(results)
    for result, weight in zip(results, weights):
        for doc in result:
            scores_map[doc.id] += doc.score * weight
    return scores_map