1093 Air Express

来源:互联网 发布:微软office软件下载 编辑:程序博客网 时间:2024/05/07 03:16
// 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;}                                 

0 0
原创粉丝点击