依照可使用天数把价值转换为每天的价值
需要注意最多可放5天
所以容量很多时也只能以5天记
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node {
char s[120];
double p;
int d;
} a[120];
bool cmp(node A,node B) {
if(A.p==B.p)
return A.d>B.d;
else
return A.p<B.p;
}
int main() {
int T;
scanf("%d",&T);
while(T--) {
int n;
scanf("%d",&n);
for(int i=0; i<n; i++) {
scanf("%s %lf %d",&a[i].s,&a[i].p,&a[i].d);
if(a[i].d<200)
i--,n--;
else {
if(a[i].d/200<=5)
a[i].p/=a[i].d/200;
else
a[i].p/=5;
}
}
sort(a,a+n,cmp);
printf("%s
",a[0].s);
}
return 0;
}
题目地址:【杭电】[1070]Milk