uvalive3971

简介: #pragma warning(disable:4786) #include #include #include #include #include #define zzz using namespace std; int min(int a, int b){ retu...
#pragma warning(disable:4786)
#include <stdio.h>
#include <iostream>
#include <string>
#include <vector>
#include <map>
#define zzz
using namespace std;
int min(int a, int b){
	return a<b?a:b;
}
int max(int a, int b){
	return a>b?a:b;
}
const int MAXN = 1000 + 5;
int cnt;
map<string, int>id;
int ID(string s){
	if(!id.count(s)) id[s]=cnt++;
	return id[s];
}
struct ZZ{
	int p, q;
};
vector<ZZ>zz[MAXN];
int b, n;
bool erfen(int q){
	int sum = 0;
	for(int i=0; i<cnt; i++){
		int bargin = b + 1;
		int m = zz[i].size();
		for(int j=0; j<m; j++){
			if(zz[i][j].q>=q) bargin = min(bargin, zz[i][j].p);
		}
		if(bargin == b+1) return false;
		sum += bargin;
		if(sum>b) return false;
	}
	return true;
}
int main(){
#ifndef zzz
	freopen("in.txt", "r", stdin);
#endif
	int cas;
	scanf("%d", &cas);
	while(cas--){
		scanf("%d%d", &n, &b);
		cnt = 0;
		int i;
		for(i=0; i<n; i++) zz[i].clear();
		id.clear();
		int maxq = 0;
		for(i=0; i<n; i++){
			char type[30], name[30];
			int p, q;
			scanf("%s%s%d%d", type, name, &p, &q);
			maxq = max(maxq, q);
			ZZ tmp;
			tmp.p = p;
			tmp.q = q;
			zz[ID(type)].push_back(tmp);
		}
		int l = 0;
		int r = maxq;
		while(l<r){
			int m = (l+r+1)/2;
			if(erfen(m)) l = m;
			else r = m - 1;
		}
		printf("%d\n", l);
	}
	return 0;
}


题意:你有b元钱,想要组装一台电脑,给出n个配件各自的种类、品质银子和价格,要求每种类型的配件各买一个,总价格不超过b,且“品质最差配件”的品质因子应该尽量大

做法:如果每种配件都买最差的,当然有解,所以二分所有配件的品质就可以

代码:



目录
相关文章
|
6月前
|
存储 SQL 关系型数据库
【MySQL 数据库】9、存储过程
【MySQL 数据库】9、存储过程
361 0
|
11月前
|
Kubernetes 应用服务中间件 调度
k8s教程(pod篇)-全自动调度
k8s教程(pod篇)-全自动调度
102 0
|
消息中间件 存储 Kafka
如何保证 RocketMQ 不丢失消息
如何保证 RocketMQ 不丢失消息
235 0
|
6月前
|
弹性计算 大数据 测试技术
2024年阿里云服务器新购、续费、升级优惠信息整理汇总
随着云计算技术的深入普及,越来越多的企业和个人选择阿里云作为他们的云服务提供商。然而,续费成本往往成为用户考虑的重要因素。为了帮助用户更经济地续费,阿里云推出了一系列优惠活动和代金券。2024年阿里云服务器优惠活动,轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价,企业用户2核4G5M带宽199元一年
1595 2
|
canal 存储 NoSQL
mysql进阶:canal搭建主从|集群架构
之前我们讲解过canal的各种应用,但是对于生产环境来讲,服务高可用是必须保证的。因此canal单节点是不能满足我们的需求的。就需要搭建canal集群。
969 2
mysql进阶:canal搭建主从|集群架构
|
安全 前端开发 Linux
Linux使用YUM安装程序
本篇文章内容主要讲解YUM的简介以及系统安装光盘配置YUM库,首先会先了解YUM,然后学习YUM工具的使用,这就是本篇文章的学习内容,下面进入学习吧。
353 0
|
存储 弹性计算 安全
阿里云CPU处理器Intel Xeon(Ice Lake) Platinum 8369B
阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B,基频2.7 GHz,全核睿频3.5 GHz,计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU
411 0
|
Docker 容器
Docker文件传输丨如何挂载目录?实现容器和宿主机之间的数据共享,方便开发和部署
Docker文件传输丨如何挂载目录?实现容器和宿主机之间的数据共享,方便开发和部署
|
关系型数据库 MySQL 数据库
MySQL innodb_large_prefix 参数
MySQL innoDB 表的索引长度限制
1690 0
|
Shell
Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法
Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法
13032 0
Solving environment: failed with initial frozen solve. Retrying with flexible solve的解决方法