Submission #706516

#TimeUsernameProblemLanguageResultExecution timeMemory
706516xuliuSelf Study (JOI22_ho_t2)C++17
0 / 100
81 ms5480 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long 
#define debug if(0)

const ll inf = 1e18+4;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	ll n, m; cin>>n>>m;
	vector<ll> 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 = B subtask
	auto check = [&](ll x) {
		// if can be done with minimum >= x
		ll res = 0;
		for(int i=0; i<n; i++) {
			ll y = (x+(b[i]-1))/b[i];
			//debug cerr<<"x: "<<x<<", b[i] = "<<b[i]<<" ; y = "<<y<<"\n";
			res += y;
		}
		//debug cerr<<"x: "<<x<<", res = "<<res<<" ; n*m = "<<n*m<<"\n";
		return res <= (n*m);
	};
	ll lo = 0, hi = inf;
	while(lo < hi) {
		ll m = (lo+hi+1)/2LL;
		if(check(m)) lo = m;
		else hi = m-1;
	}
	cout<<lo<<"\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...