第十三届蓝桥杯大赛软件类决赛C/C++大学B组真题-卡牌

第十三届蓝桥杯大赛软件类决赛C/C++大学B组真题-卡牌_第1张图片

比较简单的一题,二分一下就好,注意判断条件!!!

#include 
using namespace std;
typedef long long ll;
const int N=1e6+10;
ll a[N],b[N];
ll n,m;
bool pt(int x){
	ll cn=0;
	for(int i=1;i<=n;i++){
		if(a[i]>=x)continue;
		ll c=x-a[i];
		if(c>b[i])return false;
		cn+=c;
		if(cn>m)return false;
	}
	if(cn>m)return false;
	else return true;
}
int main(){
	cin>>n>>m;
	ll l=0x3f3f3f3f,r=0;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		l=min(l,a[i]);
		r=max(r,a[i]);
	}
	for(int i=1;i<=n;i++)cin>>b[i];
	while(l

 

你可能感兴趣的:(蓝桥杯,蓝桥杯,c++,c语言)