View Code of Problem 5

#include<iostream>
#include<algorithm>

using namespace std;

struct node{
    int apple;
    int pear;
    int order;
};

node fruit[1000004];

bool cmp(const node &m, const node &n){
    return m.apple==n.apple?m.pear>n.pear:m.apple>n.apple;
}

int main(void){
    int T;
    cin >> T;
    while(T--){
        int n,m;
        cin >> m >> n;
        for(int i=1;i<=m;i++){
            fruit[i].order=i;
            cin >> fruit[i].apple >> fruit[i].pear;
        }
        sort(fruit+1,fruit+m+1,cmp);
        for(int i=1;i<=n;i++){
            cout << fruit[i].order;
            if(i!=n){
                cout << ' ';
            }
        }
        cout << endl;
    }
}

Double click to view unformatted code.


Back to problem 5