CodeForce-762B USB vs. PS/2(贪心)

USB vs. PS/2

CodeForces - 762B

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

Input

2 1 145 USB6 PS/23 PS/27 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\n",sum,ans);
    }
    return 0;
}
时间: 2024-10-11 20:51:55

CodeForce-762B USB vs. PS/2(贪心)的相关文章

codeforce 985C Liebig&#39;s Barrels(贪心+思维)

Liebig's Barrels time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have m?=?n·k wooden staves. The i-th stave has length ai. You have to assemble n barrels consisting of k staves each, y

Codeforce 588A - Duff and Meat (贪心)

Duff is addicted to meat! Malek wants to keep her happy for n days. In order to be happy in i-th day, she needs to eat exactly ai kilograms of meat. There is a big shop uptown and Malek wants to buy meat for her from there. In i-th day, they sell mea

CodeForce 508C Anya and Ghosts (贪心+模拟)

题目大意:有m个时刻,在第i时刻即wi秒的时候需要保持有r根蜡烛亮着,每根蜡烛维持的时间为t秒,点一根蜡烛需要1秒. 注意:一根蜡烛亮的时间为下一秒开始.并且一开始是可以事先准备蜡烛的. 想法:利用了优先队列,维护r根蜡烛,每次wi秒,它需要开始点蜡烛的最晚时间为wi-t,如果不够这个时间,那么在最晚结束点蜡烛的时间wi-1开始补上. 感谢阿扎夫人提供的思维题. AC代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include&

HDU 5303 Delicious Apples(贪心 + 背包 2015多校啊)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5303 Problem Description There are n apple trees planted along a cyclic road, which is L metres long. Your storehouse is built at position 0 on that cyclic road. The ith tree is planted at position xi,

模拟KVM和数字KVM有什么区别

Hello,大家好!以后KINAN的文章就由我来写啦[偷笑],领导早安排下来了,一周一篇文章硬性任务,但小编一直迟迟未肯动手,为什么呢?文章写不好领导就让我滚蛋啦[大写的尴尬加委屈]... 计划以后每周KINAN微信公众号都会为广大关注KINAN的读者朋友们提供KVM基础知识的普及.Kinan最新活动动态等应有尽有,因此,没有关注的还在等什么啦?[原谅我卖个萌]~ 好了,言归正传吧,每次在KINAN官网在线客服上问客户要模拟KVM还是数字KVM的时候,客户都会问模拟KVM和数字KVM有什么区别?

浅谈组装主机的一些注意问题

整体说来组装主机,需要购买的硬件: CPU(CPU风扇), 主板(一般集成显卡), 内存条, 硬盘, 电源, 机箱.或者 显卡. 在选择配件的时候,好考虑配件制件的接口兼容性问题!!! 主板与配件之间的接口要提前判断是否兼容.(1)主板与CPU,(2)主板与内存条, (3)主板与显卡. 主板与机箱制件的搭配兼容,有的机箱安装不了主板的接口. 目前可以推荐的配置(家用): CPU: i5-4460(购买intel原装,送CPU风扇一个) ¥1329.00 接口:LGA 1150 4核 游戏/影音,

java设计模式 GOF23 05 适配器模式

一.适配器模式简介 java中一个类想要使用与自己毫不相干的另一个对象时,最简单的方法是使用适配器模式. 下面是简单代码实现: package com.lz.adapter; /* * 被适配对象 */ public class Adaptee { public void request() { System.out.println("提供相关服务."); } } package com.lz.adapter; /* * 实现了适配接口的适配器 */ public class Adap

cancel_delayed_work和flush_scheduled_work【转】

转自:http://blog.chinaunix.net/uid-9688646-id-4052595.html 是不是觉得很玄?像思念一样玄?那好,我们来看点具体的,比如935行,INIT_DELAYED_WORK().这是一张新面孔.同志们大概注意到了,在hub这个故事里,我们的讲解风格略有变化,对于那些旧的东西,对于那些在usb-storage里面讲过很多次的东西,我们不会再多提,但是对于新鲜的东西,我们会花大把的笔墨去描摹.这样做的原因很简单,男人嘛,有几个不是喜新厌旧呢,要不然也不会结

哪种机械键盘更适合打游戏? 机械键盘5种常用机械轴详细介绍

哪种机械键盘更适合打游戏? 机械键盘5种常用机械轴详细介绍 机械键盘 12-08 (4)青轴 最具特点的就是青轴,青轴一般是打字员的梦想,很少用于游戏,不过是本人的最爱,特点是只有当声音响起的时候按键才被触发,因此打字的时候噼里啪啦,无论是指尖还是心理上都得到了极大满足. 但是其"机动性"打字和双击时效果并不是很好,因为触底比"触发"要高,这款特别适合输入文字,但是要注意噪音很大,但这也是我喜欢MX青轴的原因之一. (5)白轴 最后说一下白轴,目前白轴基本已经停产了