10026 - Shoemaker's Problem

#include<bits/stdc++.h>
#define sz 1005
using namespace std;

struct data
{
    int index;
    double avg;
}store[sz];

bool cmp(data lhs,data rhs)
{
    return lhs.avg>rhs.avg;
}

int main()
{
    int test,n,i,x;
    double u,v;
    scanf("%d",&test);
    for(x=1;x<=test;x++)
    {
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%lf%lf",&u,&v);
            store[i].index=i;
            store[i].avg = v/u;
        }

        sort(store,store+n,cmp);

        if(x!=1)
        {
            printf("\n");
        }
        printf("%d",store[0].index+1);
        for(i=1;i<n;i++)
        {
            printf(" %d",store[i].index+1);
        }
        printf("\n");
    }
    return 0;
}

0 comments: (+add yours?)