Untitled

 avatar
unknown
plain_text
2 years ago
1.5 kB
5
Indexable
#include <bits/stdc++.h>
using namespace std;
int cmp(tuple<int, int, int, int> a, tuple<int, int, int, int> b)
{
    if (get<0>(a) != get<0>(b))
        return get<0>(a) > get<0>(b);
    else if (get<1>(a) != get<1>(b))
        return get<1>(a) > get<1>(b);
    else if (get<2>(a) != get<1>(b))
        return get<2>(a) > get<2>(b);
    else
        return get<3>(a) < get<3>(b);
}
int main()
{
    int T = 0;
    cin >> T;
    while (T--)
    {
        tuple<int, int, int, int> group[2005];
        vector<int> Group[2005];
        int N = 0;
        int num = 0;
        int banana = 0;
        cin >> N;
        for (int i = 0; i < N; i++)
        {
            cin >> num;
            get<2>(group[i]) = num;
            get<3>(group[i]) = i;
            for (int j = 0; j < num; j++)
            {
                cin >> banana;
                Group[i].emplace_back(banana);
                get<0>(group[i]) += banana;
                if (get<1>(group[i]) < banana)
                    get<1>(group[i]) = banana;
            }
        }
        sort(group, group + N, cmp);
        for (int i = 0; i < N; i++)
        {
            vector<int> vec = Group[get<3>(group[i])];
            for (vector<int>::iterator It = vec.begin(); It != vec.end(); ++It)
            {
                if (It == vec.begin())
                    cout << *It;
                else
                    cout << " " << *It;
            }
            cout << endl;
        }
    }
}
Editor is loading...