View Code of Problem 5

#include <iostream>
#include <algorithm>
using namespace std;
typedef  struct{int n,a,b;}f;
bool cmp (f f1,f f2)
{
    if (f1.a>f2.a)return true;
    if (f1.a<f2.a)return false;
    if (f1.b>f2.b)return true;
    if (f1.b<f2.b)return false;
    if (f1.n>f2.n)return true;
    if (f1.n<f2.n)return false;
}
int main()
{
    std::ios::sync_with_stdio(false);
    int t,n,m;
    cin>>t;
 
    f G[100010];
    while(t--){
        cin>>n>>m;
        for(int i=0;i<n;i++){
            G[i].n=i;cin>>G[i].a>>G[i].b;
        }
 
        sort(G,G+n,cmp);
        
        //for(int i=0;i<n;i++){
        //    cout<<G[i].n<<' '<<G[i].a<<' '<<G[i].b<<endl;
        //}
        
        for(int i=0;i<m;i++)if(i==m-1){
            cout<<G[i].n+1;
        }else{
            cout<<G[i].n+1<<' ';
        }
        cout<<endl;
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5