View Code of Problem 5

#include <iostream>
#include <sstream>
#include <stdio.h>
#include <string>
#include <math.h>
#include <algorithm>
#include <stdlib.h>
#include <stack>
#include <map>
#include <set>
#include <queue>
using namespace std;
struct node
{
    int apple;
    int li;
    int index;
};

bool cmp(node a,node b)
{
    if(a.apple!=b.apple) return a.apple>b.apple;
    else return a.li>b.li;
}

    int main()
    {
        #ifdef  ONLINE_JUDGE
        #else
        freopen("1.txt","r",stdin);
        #endif
        int k;
        cin>>k;
        while(k--)
        {
            int n,m;

            cin>>n>>m;
            node Node[n+1];
            for(int i=0;i<n;i++)
            {
                cin>>Node[i].apple>>Node[i].li;
                Node[i].index=i+1;
            }
            sort(Node,Node+n,cmp);
            for(int i=0;i<m;i++)
            {
                cout<<Node[i].index;
                if(i<m-1)  cout<<" ";
            }
            if(k>0) cout<<endl;
        }


        return 0;
    }

Double click to view unformatted code.


Back to problem 5