Submission #1145718

#TimeUsernameProblemLanguageResultExecution timeMemory
1145718ezzzaySelf Study (JOI22_ho_t2)C++20
0 / 100
121 ms2776 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=3e5+5;
int a[N];
int b[N];
signed main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)cin>>b[i];
	int lo=0,hi=1e18;
	while(hi>=lo){
		int mid=(hi+lo)/2;
		int p=0;
		for(int i=1;i<=n;i++){
			int k=mid/a[i];
			if(mid%a[i])k++;
			k=min(k,m);
			p+= m-k;
			int u = max(0LL,mid- k*a[i]);
			int g= u/b[i];
			if(u%b[i])g++;
			p-=g;
		}
		if(p>=0)lo=mid+1;
		else hi=mid-1;
	}
	cout<<hi;
}
#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...