제출 #1264404

#제출 시각아이디문제언어결과실행 시간메모리
1264404happyboySelf Study (JOI22_ho_t2)C++20
100 / 100
220 ms5112 KiB
#include <bits/stdc++.h>
using namespace std;

long long n,m,a[300001],b[300001];

bool c(long long x){
	long long p=n*m,c=0;
	for (int i=1;i<=n;i++){
		long long tx=x;
		if (a[i]>b[i]){
			p-=min(m,(tx-1)/a[i]+1);
			tx-=a[i]*m;
		}
		if (tx>0) c+=(tx-1)/b[i]+1;
		if (c>p) return 0;
	}
	return 1;
}

int main(){
	cin>>n>>m;
	for (int i=1;i<=n;i++) cin>>a[i];
	for (int i=1;i<=n;i++) cin>>b[i];
	long long l=1,r=1e18,mi;
	while (l<=r){
		mi=(l+r)/2;
		if (c(mi)) l=mi+1;
		else r=mi-1;
	}
	cout<<r<<"\n";
}
#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...