View Code of Problem 5

#include <stdio.h>
#include <stdlib.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
int main()
{
	struct plate
	{
		int apple;
		int pear;
	}arr[100000];
	int i, j, t,m,n, k, max1,max2;
	scanf("%d", &t);
	while (t--)
	{
		scanf("%d%d", &n, &m);
		for (i = 0; i < n; i++)
			scanf("%d%d", &arr[i].apple, &arr[i].pear);
		for (i = 0; i < m; i++)
		{
			max1 =  0;
			for (j = 0; j < n; j++)
			{
				if (arr[max1].apple < arr[j].apple)
					max1 = j;
				else if (arr[max1].apple == arr[j].apple)
				{
					if (arr[max1].pear < arr[j].pear)
						max1 = j;
				}
			}
			printf("%d", max1+1);
			if (i < m - 1)
				printf(" ");
			arr[max1].apple = 0;
			arr[max1].pear = 0;
		}
		printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5