Accepted solution

1207A - There Are Two Types Of Burgers

Open original problem
Source code

#include <iostream>

#include<vector>

#include<string>

#include<string.h>

#include<math.h>

#include<set>

#include<map>

#include<list>

#include<stack>

#include<queue>

#include <fstream>

#include<iterator>

#include<algorithm>

#include <iomanip>      // std::setprecision

#include<unordered_set>

#include<sstream>

#include<cstdio>

/* ==================================================

  |                                                  |

  |    Author: *** S. M. Sabiul Hajjaj Sabit ***     |

  |       Last Edit:  July,25,2019                    |

   ================================================== */

///***global declaration***///

#define all(arr) arr.begin(),arr.end()

#define pb push_back

#define mp make_pair

#define lb lower_bound

#define up upper_bound

#define sz(x) x.size()

#define min3(a,b,c)  min(min(a,b),c)

#define max3(a,b,c)  max(max(a,b),c)

#define lli long long int

#define prnt(x) cout<<x<<endl

#define in1(x) cin>>x

#define in12(x,y) cin>>x>>y

using namespace std;

template <typename T>long long int power(T a, T b)

{

    long long int pow=1;

    for(int i=0; i<b; i++)

        pow *= a;

    return pow;

}

template <typename T> string tostr(const T& t)

{

    ostringstream os;

    os<<t;

    return os.str();

}

bool isPrime(int n)

{

    int ans=true;

    for(int i=2; i<=n/2; i++)

    {

        if(n%i == 0)

        {

            ans = false;

            break;

        }

    }

    if (ans)

        return true;

    else

        return false;

}

/**** ascending sort vector of pair basis fd 2nd element******/

//sort(arr.begin(), arr.end(),sortbysec);

bool sortbysec(const pair<int,int> &a,const pair<int,int> &b)

{

    //return (a.second < b.second); //ascending

    return (a.second > b.second);  //descending

}

///File Handel

//freopen("input.txt", "r", stdin)

//freopen("output.txt", "w", stdout)

/////*********Write Code From Here*********///

int main()

{

    int t;

    cin>>t;

    for(int i=0; i<t; i++)

    {

        int b, p,f,bef,chi;

        int count=0,ans=0;;

        cin>>b>>p>>f;

        cin>>bef>>chi;

        int sum = b/2;

        if(bef>chi)

        {

            if(sum>0)

            {

                if(sum>0)

                {

                    if(sum>=p)

                    {

                        ans = (p)*bef;

                        sum -= p;

                    }

                    else

                    {

                        ans = (sum)*bef;

                        sum=0;

                    }

                    if(sum>0)

                    {

                        if(sum>=f)

                        {

                            ans += (f)*chi;

                            sum -=f;

                        }

                        else

                        {

                            ans += (sum)*chi;

                            sum=0;

                        }

                    }

                }

            }

        }

        else

        {

            if(sum>0)

            {

                if(sum>=f)

                {

                    ans = (f)*chi;

                    sum -= f;

                }

                else

                {

                    ans = (sum)*chi;

                    sum=0;

                }

                if(sum>0)

                {

                    if(sum>=p)

                    {

                        ans += (p)*bef;

                        sum -=p;

                    }

                    else

                    {

                        ans += sum*bef;

                        sum=0;

                    }

                }

            }

        }

        cout<<ans<<endl;

    }

}
Join the discussion

Add your comment