码迷,mamicode.com
首页 > 其他好文 > 详细

【Henu ACM Round#19 E】 Om Nom and Candies

时间:2018-02-01 13:13:02      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:return   ble   ifd   down   space   www   freopen   ++   cal   

【链接】 我是链接,点我呀:)
【题意】


在这里输入题意

【题解】


紫书上的原题;
链接

【代码】

#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N = 1e5;

ll m,c1,c2,v1,v2;

int main()
{
    #ifdef LOCAL_DEFINE
        freopen("rush_in.txt","r",stdin);
    #endif
    ios::sync_with_stdio(0),cin.tie(0);
    cin >> m >> c1 >> c2 >> v1 >> v2;
    ll ans = 0;
    if (m/v1 <=(int)1e7){
        for (int i = 0;i <= m/v1;i++){
            ll temp = 1LL*i*c1;
            ll temp2 = 1LL*c2*((m-1LL*i*v1)/v2);
            ans= max(ans,temp+temp2);
        }
    }else if (m/v2<=(int)1e7){
        for (int i = 0;i <= m/v2;i++){
            ll temp = 1LL*i*c2;
            ll temp2 = 1LL*c1*((m-i*v2)/v1);
            ans= max(ans,temp+temp2);
        }
    }else{
        if (c1*v2>c2*v1){
            for (int i = 0;i<=v1 ;i++){
                ll now = 1LL*i*c2;
                ll V = 1LL*i*v2;
                if (m-V<0) break;
                ll now1 = 1LL*((m-V)/v1)*c1;
                ans = max(ans,now+now1);
            }
        }else{
            for (int i = 0;i<=v2 ;i++){
                ll now = 1LL*i*c1;
                ll V = 1LL*i*v1;
                if (m-V<0) break;
                ll now1 = 1LL*((m-V)/v2)*c2;
                ans = max(ans,now+now1);
            }
        }
    }
    cout<<ans<<endl;

    return 0;
}

【Henu ACM Round#19 E】 Om Nom and Candies

标签:return   ble   ifd   down   space   www   freopen   ++   cal   

原文地址:https://www.cnblogs.com/AWCXV/p/8398295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!