View Code of Problem 5

#include <stdio.h>
#include <stdlib.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
#include<stdbool.h>
int main()
{
	int  t, n, m, i, j, k;
	int max;
	int a[10000][2] = { 0 };
	scanf("%d", &t);
	while (t--)
	{
		scanf("%d%d", &n, &m);
		for (i = 0; i < n; i++)
		{
			scanf("%d%d", &a[i][0], &a[i][1]);
		}
		while (m--)
		{
			max = 0;
			k = 0;
			for (i = 0; i < n; i++)
			{
				if (a[max][0] < a[i][0])
				{
					max = i;
				}
				else if (a[max][0] == a[i][0])
				{
					if (a[max][1] < a[i][1])
						max = i;
					else if (a[max][1] == a[i][1])
					{
						if (max > i)
							max = i;
					}

				}
				else continue;
			}
			printf("%d", max + 1);
			if (m > 0)
				printf(" ");
			a[max][0] = -1;
			
		}
		printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5