很简单的一题,就是要注意下要求:
1.一瓶奶只喝5天,也就是即使再多也只喝1000ml
2.当低于200ml时就会被扔了,也就是算性价比时有效的就是200的倍数。
3.如果一开始就少于200ml就直接不会买
考虑了这几点后还有性价比,因为double有效精度有限,而没有容量上限,所以最好算单位价格奶的容积,而不是多少升几元……
/* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,please indicate the source** */ #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #define INF 1E9 using namespace std; string ans; int Maxv; double price; int main() { int T,n,i,v,V,p; string t; double tt; scanf("%d",&T); while(T--) { Maxv=0;price=0; scanf("%d",&n); for(i=0;i<n;i++) { cin>>t; scanf("%d%d",&p,&v); if(v<200)continue; if(v>1000)V=1000; else V=v; V=V/200*200; tt=(double)V/p; if(tt>price) { price=tt; ans=t; Maxv=v; } else if(tt==price) if(v>Maxv){Maxv=v;ans=t;} } cout<<ans<<endl; } }