zoukankan      html  css  js  c++  java
  • 牛客假日团队赛2 A.买一送一

    链接:

    https://ac.nowcoder.com/acm/contest/924/A

    题意:

    Farmer John在网上买干草。他发现了一笔特殊的买卖。他每买一捆大小为A(1 <= A <= 1,000,000)的干草,他就能免费获得一捆大小为B(1 <= B < A)的干草!
    然而,这笔交易是有规定的:大的一捆干草必须是高质量的,小的一捆是低质量的。FJ是个吝啬鬼,他并不在意:随便什么质量,只要能省钱就好。
    给出一组N(1 <= N <= 10,000)捆高质量干草的大小,M(1 <= M <= 10,000)捆低质量的干草的大小,找出Farmer John最多能买多少捆干草。他能买高质量的干草而不拿免费的低质量干草,但他不能买低质量的干草(就是说,他只能通过增送来获得)。

    思路:

    将两捆草排序,从小到大买,同时判断赠品的当前最小能不能得到,能得到就更新最小。
    因为小的赠品优先给小的购买用。

    代码:

    #include<bits/stdc++.h>
     
    using namespace std;
    const int maxn = 2e5 + 10;
        int a[maxn],b[maxn];
    int main()
    {
        int n,m;
        cin>>n>>m;
     
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        for(int i=0;i<m;i++)
            cin>>b[i];
        sort(b,b+m);
        int cnt = 0;
        for (int i = 0;i < n;i++)
        {
            if (cnt < m && b[cnt]<a[i])
                cnt++;
        }
        cout << n+cnt << endl;
     
        return 0;
    }
    
  • 相关阅读:
    gitlab 国内镜像安装
    docker 安装和启动redis
    jenkins 国内镜像更新地址
    docker 安装 jenkins
    docker 使用阿里云镜像加速
    '
    windows/linux 命令可以用符号连接执行
    思科访问控制列表优先级
    交换机泛洪
    虚拟机floppy0
  • 原文地址:https://www.cnblogs.com/YDDDD/p/11037608.html
Copyright © 2011-2022 走看看