• 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest


    题目链接  2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest

    Problem A

    Problem B

    Problem C

    枚举第一个包的购买数量。

    根据第一个包购买数量计算出如果要在规定时间内完成那么剩下那些未下载的字节数至少有几个字节需要用第二个包的速度。

    由此算出第二个包的购买量(如果第二个包的速度比普通的都慢那就不考虑了),不停更新答案。

    同理,枚举第二个包的购买数量再做一次即可。

    #include <bits/stdc++.h>
    
    using namespace std;
    
    #define    rep(i, a, b)    for (int i(a); i <= (b); ++i)
    #define    dec(i, a, b)    for (int i(a); i >= (b); --i)
    
    typedef long long LL;
    
    LL f, t, t0, a1, t1, p1, a2, t2, p2;
    LL ans;
    
    
    void solve(){
    	LL x = 0;
    	while (x <= 1e7){
    		++x;
    		LL byt = min(x * a1, f);
    		LL remain_f = f - byt;
    		LL nowt = byt * t1;
    		LL remain_t = t - nowt;
    		if (remain_f * min(t0, t2) > remain_t) continue;
    		if (remain_f * t0 <= remain_t){
    			ans = min(ans, x * p1);
    			continue;
    		}
    
    		if (t0 <= t2){
    			if (remain_f * t0 <= remain_t) ans = min(ans, x * p1);
    			continue;
    		}
    
    		LL num;
    		LL up   = remain_t - remain_f * t0;
    		LL down = t2 - t0;
    		if (up % down == 0) num = up / down;
    		else num = up / down + 1;
    		LL opp = (num - 1) / a2 + 1;
    		ans = min(ans, x * p1 + opp * p2);
    		if (x * a1 * t1 >= t) break;
    	}
    }
    
    int main(){
    
    	cin >> f >> t >> t0;
    	cin >> a1 >> t1 >> p1;
    	cin >> a2 >> t2 >> p2;
    
    	if (f * t0 <= t) return 0 * puts("0");
    
    	ans = 9e18;
    
    	solve();
    
    	swap(a1, a2);
    	swap(t1, t2);
    	swap(p1, p2);
    
    	solve();
    	if (ans < 9e18) printf("%lld
    ", ans);
    	else puts("-1");
    	return 0;
    }

    Problem D

    Problem E

    Problem F

    Problem G

    Problem H

    Problem I

    Problem J

    Problem K

    Problem L

    Problem M

  • 相关阅读:
    第一周C语言作业
    C语言I博客园作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
  • 原文地址:https://www.cnblogs.com/cxhscst2/p/8004812.html
Copyright © 2020-2023  润新知