zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 13 C. Joty and Chocolate(最小公倍数)

    地址:https://codeforces.com/problemset/problem/678/C

         题意:1~n的瓷钻,给它们染色。能被a整除就red,能被b整除就blue。每一个red可以得p块巧克力,每一个blue可以得q块巧克力,求最大所得巧克力数。

         解析:能被a整除就p,被b整除就q。但是有一部分是可以同时被p,q整除,所以肯定选max(p,q)。先把所有a部分和b部分算出来,这俩有重合部分,这个重合部分求一下a,b的最小公倍数,减掉min(p,q)*(n/最小公倍数)就可以了。总的公式就是:n/a+n/b-min(p,q)*(n/gd(a,b))。

          a,b的最小公倍数就是a*b/两者的最大公因数~

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    ll gcd(ll a,ll b){
        return b?gcd(b,a%b):a;
    }
    int main()
    {
        ll n,a,b,p,q;
        cin>>n>>a>>b>>p>>q;
        ll m1=p*(n/a),m2=q*(n/b);
        ll gcdd=a*b/gcd(a,b);
        ll pq=min(p,q);
        cout<<m1+m2-pq*(n/gcdd)<<endl;
    }
  • 相关阅读:
    屏幕适配的简单介绍
    静态单元格
    BOOL的getter方法
    取消注册监听器
    自定义cell
    假适配
    cell的重用
    UITableView的简单使用
    UISrcoll控件简单介绍
    创建ios界面的三步骤
  • 原文地址:https://www.cnblogs.com/liyexin/p/12595583.html
Copyright © 2011-2022 走看看