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\n",sum,ans);
}
return 0;
}

最新文章

  1. SharePoint 2013 Search REST API 使用示例
  2. VC++6.0 配置CppUTest测试环境
  3. java常用命令行指令
  4. 在linux中连接wifi
  5. H608B无线路由破解方法
  6. POJ 3225 (线段树 区间更新) Help with Intervals
  7. 转:栈和队列小知识【STL用法】
  8. reshape: from long to wide format(转)
  9. [转]Django时间查询
  10. Gradle 1.12用户指南翻译——第三十五章. Sonar 插件
  11. Https背景与证书在spring boot项目中的使用
  12. Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比
  13. TP自动提取关键词
  14. Spring Boot (五)Spring Data JPA 操作 MySQL 8
  15. 「SNOI2019」字符串
  16. python面向对象 : 抽象类(接口类),多态,封装(私有制封装)
  17. Docker Swarm 日常运维命令笔记
  18. Codeforces Round #480 (Div. 2) E - The Number Games
  19. ES6 新增数据类型检测 Set Map Proxy
  20. DLL中不能调用CoInitialize和CoInitializeEx

热门文章

  1. kivy之Button常用属性实操练习
  2. Java之Listener
  3. DVWA(五):CSRF 全等级跨站请求伪造
  4. Error running &#39;Tomcat 9.0.24&#39;: port out of range:-1
  5. mysql--使用shardingsphere实现分表
  6. 1、二进制安装K8s 之 环境准备
  7. WebAPI 自定义过滤
  8. UWP - 介绍App Service 与新功能
  9. 【java web】监听器listener
  10. 服务端负载监控-参考srs服务器源码