def METHOD_NAME(scores, feats, label=None, num=5000):
    score = 0
    for feat, weight in scores:
        cur_feat = feat[:num].astype(np.float32)
        min_value = cur_feat.min()
        max_value = cur_feat.max()
        cur_feat = (cur_feat - min_value) / (max_value - min_value)
        score += cur_feat * weight
    score = score / len(scores)
    for feat, weight in feats:
        cur_feat = feat[:num].astype(np.float32)
        score += cur_feat * weight
    if label is None:
        return score
    label = label[:num]
    return get_mrr(score, label), score