zoukankan      html  css  js  c++  java
  • CodeForce-762B USB vs. PS/2(贪心)

    USB vs. PS/2

    CodeForces - 762B

    题意:有三种电脑,分别有a、b、c个,第一种只有USB接口,第二种只有PS/2接口,第三种有两种接口,有m个鼠标,告诉你价钱和接口类型,问最多有多少电脑和鼠标可以配对,这些鼠标最少花多少钱。

    Input

    2 1 1
    4
    5 USB
    6 PS/2
    3 PS/2
    7 PS/2
    Output
    3 14

    解题思路:将两种鼠标分类后根据价钱来排序,先处理只有USB和只有PS/2接口的,然后两种鼠标取价钱少的来处理既有USB又有PS/2接口的

    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <queue>
    #include <vector>
    #include <set>
    #include <stack>
    #include <map>
    #include <climits>
    
    using namespace std;
    
    #define LL long long
    int a,b,c;
    int m;
    LL x1[300009],x2[300009];
    
    int main()
    {
        while(~scanf("%d %d %d",&a,&b,&c))
        {//读取数据过多,cin超时
            int sum1=0,sum2=0;
            memset(x1,0,sizeof x1);
            memset(x2,0,sizeof x2);
            LL q,ans=0;
            string p;
            scanf("%d",&m);
            while(m--)
            {
                cin>>q>>p;
                if(p=="USB") x1[sum1++]=q;
                else x2[sum2++]=q;
            }
            sort(x1,x1+sum1);
            sort(x2,x2+sum2);
            int aa=min(a,sum1),bb=min(b,sum2),sum=aa+bb,k=0;
            while(k<c)
            {
                if(aa<sum1&&bb<sum2&&x1[aa]<x2[bb]) aa++;
                else if(aa<sum1&&bb<sum2) bb++;
                else if(aa<sum1) aa++;
                else if(bb<sum2) bb++;
                else break;
                sum++;
                k++;
            }
            for(int i=0;i<aa;i++)
                ans+=x1[i];
            for(int i=0;i<bb;i++)
                ans+=x2[i];
            printf("%d %lld
    ",sum,ans);
        }
        return 0;
    }


  • 相关阅读:
    分治法解决寻找数组中最大最小值的问题
    bootstrap动画进度条
    关于bootstrap中css样式与自己设置的css样式相撞问题
    css引入外部字体
    清除浮动
    四叶玫瑰数
    水仙花数
    nginx 配置文件服务器
    springboot 自定义拦截器 防止恶意请求
    springboot 自定义异常
  • 原文地址:https://www.cnblogs.com/YingZhixin/p/7106478.html
Copyright © 2011-2022 走看看