// Problem#: 1093
// Submission#: 2612482
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include <iostream>
#include <vector>
using namespace std;
int w1,w2,w3,r1,r2,r3,r4,pack;
struct packag{
int pa;
int lowest;
int add;
packag(int paa,int lo,int ad){
pa=paa;
lowest=lo;
add=ad;
}
};
vector<packag>p;
int main()
{
int number=1;
while (cin>>w1)
{
p.clear();
cin>>r1>>w2>>r2>>w3>>r3>>r4;
int ww[3];ww[0]=w1+1;ww[1]=w2+1;ww[2]=w3+1;
int cmp[3];
cmp[0]=(w1+1)*r2;
cmp[1]=(w2+1)*r3;
cmp[2]=(w3+1)*r4;
while(cin>>pack&&pack!=0)
{
int mul;
int add=0;
if(pack>=1&&pack<=w1)
{
mul=pack*r1;
for (int i=0;i<3;i++)
{
if(cmp[i]<mul)
{
mul=cmp[i];
add=ww[i]-pack;
}
}
}
else if(pack>w1&&pack<=w2)
{
mul=pack*r2;
for (int i=1;i<3;i++)
{
if(cmp[i]<mul)
{
mul=cmp[i];
add=ww[i]-pack;
}
}
}
else if(pack>w2&&pack<=w3)
{
mul=pack*r3;
for (int i=2;i<3;i++)
{
if(cmp[i]<mul)
{
mul=cmp[i];
add=ww[i]-pack;
}
}
}
else
{
mul=pack*r4;
}
p.push_back(packag(pack,mul,add));
}
cout<<"Set number "<<number++<<":"<<endl;
for (int i=0;i<p.size();i++)
{
packag temp=p[i];
cout<<"Weight ("<<temp.pa<<") has best price $"<<temp.lowest<<" (add "<<temp.add<<" pounds)"<<endl;
}
cout<<endl;
}
return 0;
}
1093 Air Express
最新推荐文章于 2015-04-15 13:54:00 发布