https://vjudge.net/problem/19393/origin
题意就是要求输出花钱最少的,如果价格相同,就输出容量最大的,
这里要注意的是,花的钱要按每天的算,而且超过5天就不能算了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node{
int x,y,sp;
char s[20];
};
bool cmp(node a,node b){
if(a.sp==b.sp)return a.y>b.y;
return a.sp<b.sp;
}
int main(){
int n,N;
node a[105],b;
cin>>N;
while(N--){
cin>>n;
int k=0;
for(int i=0;i<n;i++){
cin>>b.s>>b.x>>b.y;
if(b.y>=200){
int q=(b.y/200);
q=q>5?5:q;
b.sp=b.x/q;
a[k++]=b;
}
}
sort(a,a+k,cmp);
cout<<a[0].s<<endl;
}
return 0;
}