思路:

一开始是没有办法贪心的,但是答案是可以二分的,因为窝能买k辆车的话,窝就一定能买k-1辆车;而且我最好就是拿手上钱较多的那些人去买价格便宜的车,这样肯定是能买到最多的车,而且花的少,因为对于要买的车公共钱的话够得话,那就直接公共钱付了就行,而要付出的钱是一定要付的。

所以直接二分答案。

然后人的总花费=最有钱的那些人去买最便宜的那些车的情况;

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int>PII;
const double eps=1e-5;
const double pi=acos(-1.0);
const int INF=0x3f3f3f3f; const int N=1e5+10; LL b[N],p[N],a; int main()
{
int n,m;
scanf("%d%d%lld",&n,&m,&a);
for(int i=1;i<=n;i++)
scanf("%lld",&b[i]);
for(int i=1;i<=m;i++)
scanf("%lld",&p[i]); sort(b+1,b+n+1);
sort(p+1,p+m+1); int ans=0,cas=100;
int left=0,right=min(n+1,m+1);
while(left<right&&cas--)
{
int mid=(left+right)/2;
LL res=0;
for(int i=1;i<=mid;i++)
{
if(b[n+1-i]<p[mid+1-i]) //最有钱的几个人去买最便宜的车以至于能买到最多数量的车;
res+=(p[mid+1-i]-b[n+1-i]);
}
if(res<=a)
{
left=mid;
ans=mid;
}
else
right=mid;
}
printf("%d",ans);
LL pay_out=0;
for(int i=1;i<=ans;i++)
{
if(b[n+1-i]<=p[ans+1-i])
{
pay_out+=b[n+1-i];
a-=(p[ans+1-i]-b[n+1-i]);
}
else
pay_out+=p[ans+1-i];
}
printf(" %lld",max(0LL,pay_out-a));
return 0;
}

最新文章

  1. spring笔记--通过注解(annotation)配置Bean
  2. Smarty单模板多缓存
  3. hibernate自动生成映射文件
  4. JavaScript学习心得(五)
  5. Oracle当前用户SQL
  6. 关于Spring的BeanPostProcessor
  7. The Blocks Problem(vector)
  8. 结合apache安装subversion
  9. selenium 不同版本Driver
  10. Salesforce Sales Cloud 零基础学习(四) Chatter
  11. 2018-12-14 JavaScript实现ZLOGO: 前进方向和速度
  12. CentOS 安装、配置supervisord
  13. hdoj:2053
  14. 【读书笔记】iOS-流式音频与Pandora Radio之路
  15. git 使用https 和SSH 提交远程库小总结
  16. Got fatal error 1236 from master when reading data from binary log: &#39;Could not find first log file name in binary log index file&#39;系列三:重置主从同步
  17. 【NOI2016】区间
  18. 【8086汇编-Day1】预备知识
  19. 人生苦短,我用Python!
  20. 剑指offer——面试题18:删除链表的节点

热门文章

  1. Linux中ctrl+z 、ctrl+c、 ctrl+d差别
  2. 通过css选择器class给元素添加cursor的坑
  3. EasyPusher:基于live555的DarwinInjector实现的RTSP直播推送程序
  4. [Phoenix] 四、加盐表
  5. TEdit的创建与显示过程
  6. 如何强制ffmpeg编码时输出一个关键帧
  7. java引用问题(—)
  8. html5--4-4 audio元素/格式的转换
  9. java IO流文件的读写具体实例(转载)
  10. ubuntu nginx 安装 certbot(letsencrypt)