zoukankan      html  css  js  c++  java
  • [CF1303B] National Project

    Solution

    • (2a>n),一次性结束,直接输出 (n)
    • (a geq b),那么一直修即可,直接输出 (n)
    • 否则,(a) 占弱势,我们考虑用 (a) 修一半需要的完整轮次数为 ([(n-1)/2a]) ,那么这些轮中, (a) 修掉的个数为 ([n/2a]a),而 (b) 修掉的个数则是 ([n/2], [n/2a]b) 中的较小值。计算剩余量然后暴力修即可。
    
    #include <bits/stdc++.h>
    using namespace std;
    
    #define int long long
    
    int n,a,b;
    
    
    signed main() {
        int t;
        cin>>t;
        while(t--) {
            cin>>n>>a>>b;
            if(2*a>n || a>=b) {
                cout<<n<<endl;
            }
            else {
                int d=(n-1)/(2*a);
                int xa=d*a;
                int xb=min(n/2,d*b);
                int r=n-xa-xb;
                //cout<<d<<" "<<xa<<" "<<" "<<xb<<" "<<r<<endl;
                cout<<d*(a+b)+r<<endl;
            }
        }
    }
    
  • 相关阅读:
    pandas
    CTC Loss原理
    CTC 的工作原理
    Demystifying JavaScript Closures, Callbacks and IIFEs
    Css compatibility
    Flexbox——快速布局神器
    centos wordpress
    Encog
    D3js
    Lucene学习
  • 原文地址:https://www.cnblogs.com/mollnn/p/12345822.html
Copyright © 2011-2022 走看看