View Code of Problem 5

#include <stdio.h>
#define maxn 100000

int a[maxn];
int b[maxn];
int c[maxn];


int main()
{
    int t;
    scanf("%d",&t);
    
    while(t>0)
    {
        t--;
        
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        memset(c,0,sizeof(c));
    
        int n,m; 

        scanf("%d%d",&n,&m);
        
        for(int i=0;i<n;i++)
        {
            int A,B;
            scanf("%d%d",&A,&B);
            for(int k=n-1;k>=0;k--)
            {
                if(A>a[k])
                {
                    a[k+1]=a[k];
                    b[k+1]=b[k];
                    c[k+1]=c[k];
                    a[k]=A;
                    b[k]=B;
                    c[k]=i;
                }
                else if(A==a[k]&&B>b[k])
                {
                        a[k+1]=a[k];
                        b[k+1]=b[k];
                        c[k+1]=c[k];
                        a[k]=A;
                        b[k]=B;
                        c[k]=i;
                    
                }
                else
                {
                    a[k+1]=A;
                    b[k+1]=B;
                    c[k+1]=i;
                }
                        
            }
            
        }
        
        for(int s=0;s<m;s++)
        {
            printf("%d ",c[s]+1);
        }
        printf("\n");
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 5