View Code of Problem 5

#include<stdio.h>
 
int Whichismax(int v[],int n)
{
	int i,max;
	max = 0;
	for(i = 0;i < n;i ++)
	{
		if(v[i] > v[max])
			max = i;
	}
	return max;
}
int main(void)
{
	int i,t,n,m,a[100000][2],v[100000];         
	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]);
		}
		for(i = 0;i < n; i ++)
			v[i] = a[i][0]*100000 + a[i][1];           //用于对苹果和梨进行估值,苹果的价值是梨的10万倍,保证苹果是主要决定因素。
		for(i = 0;i < m;i ++)
		{
			if(i == m -1)
				printf("%d",Whichismax(v,n) + 1);
			else
				printf("%d ",Whichismax(v,n) + 1);
			v[Whichismax(v,n)] = -1;
		}
		printf("\n");
	}
}

Double click to view unformatted code.


Back to problem 5