View Code of Problem 5

#include<stdio.h>
#include<string.h>
#include <stdbool.h>


int apple[10000],pear[10000];
bool cmp2(int a,int b)
{
    return pear[a]>pear[b];
}
int main(void)
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int m,n,sum=0,as[10000],ps[10000];
        scanf("%d %d",&n,&m);
        for(int i=0;i<n;i++)
        {
            scanf("%d %d",&apple[i],&pear[i]);
            as[i]=i;
            ps[i]=i;
        }
        for(int i=0;i<n;i++)
        {
            for(int j=i+1;j<n;j++)
            {
                if(apple[as[i]]<apple[as[j]])
                {
                    int tmp=as[i];
                    as[i]=as[j];
                    as[j]=tmp;
                }
            }
        }

        for(int i=0;i<n;i++)
        {
            
            if(sum>0&&sum<m) printf(" ");
            else if(sum>=m){
                printf("\n");
                break;
            }
            if(apple[as[i]]>apple[as[i+1]]){
                printf("%d",as[i]+1);
                sum++;
                continue;
            }
            else if(apple[as[i]==apple[as[i+1]]]){
                
                if(pear[as[i]]>pear[as[i+1]]){
                    printf("%d",as[i]+1);
                    sum++;
                    continue;
                }
                else if(pear[as[i]]<pear[as[i+1]])
                {
                    int tmp;
                    printf("%d",as[i+1]+1);
                    tmp=as[i];
                    as[i]=as[i+1];
                    as[i+1]=tmp;
                    sum++;
                    continue;
                }
                else {
                    if(as[i]>as[i+1]) {
                        printf("%d",as[i+1]+1);
                        sum++;
                        continue;
                        }
                    
            else {
                        int tmp;
                        printf("%d",as[i]+1);
                        tmp=as[i];
                        as[i]=as[i+1];
                        as[i+1]=tmp;
                           sum++;
                        continue;
                    }
                }
                
            }
            
        }
        
    }
}

Double click to view unformatted code.


Back to problem 5