蒟蒻求调 70pts
查看原帖
蒟蒻求调 70pts
1696403
JiaZichen0918楼主2025/8/29 17:56
#include<bits/stdc++.h>
#define ll long long 
using namespace std;
ll n,m,a,b,mid,l,r,maxx=0;
bool check(ll x){
	ll xa=x*a,xb=x*b;
	if(xa>n){
		ll step=(xa-n+a-b-1)/(a-b);
		xa-=step*(a-b);
		xa+=step*(a-b);
	}
	if(xa<=n&&xb<=m){
		return true;
	}
	return false;
}
int main() {
	scanf("%lld%lld%lld%lld",&n,&m,&a,&b);
	if(n<m){
		swap(n,m);
	}
	if(a<b){
		swap(a,b);
	}
	 l=0,r=n;
	while(l<=r){
		 mid=l+(r-l)/2;
		if(check(mid)){
			maxx=max(maxx,mid);
			l=mid+1;
			continue;
		}
		r=mid-1;
	}
	printf("%lld",maxx);
	return 0;
}
2025/8/29 17:56
加载中...