卡牌
显然用二分答案,重点就是check函数怎么写了,用x来表示套牌数,所以x要满足每一个x-a<=b,并且所有x-a的和要<=m.最后结果一定要开long long
`#include<stdio.h>
include<stdlib.h>
include<string.h>
include<bits/stdc++.h>
using namespace std;
int check(int *lsta,int *lstb,int n,long long m,long long k){
long long sum=0;
for(int i=0;i<n;i++){
if(k-lsta[i]>lstb[i]) return 0;
if(k>lsta[i]) sum+=k-lsta[i];
}
if(sum>m) return 0;
return 1;
}
int main(){
int n,a,b;
long long m;
scanf("%d %lld",&n,&m);
int lsta[n],lstb[n];
for(int i=0;i<n;i++){
scanf("%d",&lsta[i]);
}
for(int i=0;i<n;i++){
scanf("%d",&lstb[i]);
}
int l=0;
long long r=4e10,cnt=0;
while(l<=r){
long long k=(l+r)/2;
if(check(lsta,lstb,n,m,k)){
if(k>cnt) cnt=k;
l=k+1;
}
else r=k-1;
}
printf("%lld",cnt);
return 0;
} `
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!