• + 0 comments

    vector result; size_t r_ind = 0; int place = 0; result.resize(player.size());

    for (size_t p_ind = player.size(); p_ind-- > 0;) {
        int old_ranked = -1;
        while (r_ind < ranked.size() && ranked[r_ind] > player[p_ind]) {
            if (old_ranked != ranked[r_ind]) {
                place++;
            }
            old_ranked = ranked[r_ind];
            r_ind++;
        }
        result[p_ind]= place + 1;
    }
    return result;