제출 #1319946

#제출 시각아이디문제언어결과실행 시간메모리
1319946MuhammadSaramSelf Study (JOI22_ho_t2)C++20
100 / 100
252 ms5088 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main()
{
	int n,m;
	cin>>n>>m;
	int a[n], b[n];
	for (int i=0;i<n;i++)
		cin>>a[i];
	for (int i=0;i<n;i++)
		cin>>b[i], a[i]=max(a[i],b[i]);
	int s=0, e=1e18;e++;
	while (s+1<e)
	{
		int mid=(s+e)/2, ex=0;
		for (int i=0;i<n;i++)
			if (a[i]*m>=mid)
				ex+=m-(mid+a[i]-1)/a[i];
		for (int i=0;i<n && ex>=0;i++)
			if (a[i]*m<mid)
			{
				int val=(mid-a[i]*m+b[i]-1)/b[i];
				if (ex<val) ex=-1;
				else ex-=val;
			}
		if (ex>=0)
			s=mid;
		else
			e=mid;
	}
	cout<<s<<endl;

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...