同为结构体排序,感觉都是套路hh
#include<stdio.h>
struct Milk
{
char name[1000];
int p,v;
} milk[10000];
int main()
{
int T,t,good;
scanf("%d",&T);
while(T--)
{
scanf("%d",&t);
double m=1000000;
for(int i=0;i<t;i++)
{
scanf("%s %d %d",milk[i].name,&milk[i].p,&milk[i].v);
int cnt=0;
if(milk[i].v<200)
continue;
while(1)
{
milk[i].v-=200;
cnt++;
if(cnt==5)
break;
if(milk[i].v<200)
break;
}
double k=(double)milk[i].p/cnt;
if(k<m)
{
m=k;
good=i;
}
if(k==m)
{
if(milk[i].p<milk[good].p)
good=i;
else if(milk[i].p=milk[good].p){
if(milk[i].v>milk[good].v)
good=i;
}
}
}
printf("%s\n",milk[good].name);
}
}