http://codeforces.com/problemset/problem/363/D
题意:
n个人,每个人b[i]块钱
m辆车,每辆车租金p[i]块钱
A,共用资金
共用资金可以给任何人租单车,但是个人的钱只能给自己用
每个人最多买一辆单车,
假设最多能买R辆车,求出R
在买R辆车的前提下,尽可能少用个人的钱,输出这个最少的个人花费S
煞笔贪心了一发。。。
显然直接枚举答案即可,Left=0,Right=min(n,m)
然后当能买X辆车时,我们让最有钱的X个人去买最便宜的X辆车,再加上共用资金,如果能买则OK,否则NOT
二分得到答案R
得到答案R后,要花最少钱肯定是买最便宜的R辆车啦。。。。sum=p[1]~p[R],
A》sum则 个人花费为0,否则为 sum-A
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <vector>
using namespace std;
__int64 b[100005];
__int64 p[100005];
__int64 tmp[100005];
__in