Submission #1154033

#TimeUsernameProblemLanguageResultExecution timeMemory
1154033KK_1729Self Study (JOI22_ho_t2)C++17
0 / 100
41 ms2632 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define pb push_back
#define all(a) a.begin(), a.end()
#define endl "\n"

void printVector(vector<int> a){
	for (auto x: a) cout << x << " ";
	cout << endl;
}
void solve(){
	int n, m; cin >> n >> m;
	vector<int> a(n);
	FOR(i,0,n) cin >> a[i];

	
	vector<int> b(n);
	FOR(i,0,n) cin >> b[i];

	int l = 0; int r = 1e14;
	int ans = 0;
	int c = 0;
	while (l <= r){
		if (l == r) c++;
		if (c > 2) break;
		int mid = (l+r)/2ll;

		int tot = 0ll;
		FOR(i,0,n){
			tot += (mid+a[i]-1ll)/a[i];
		}
		if (tot <= n*m){
			ans = max(ans, mid);
			if (l+1ll == r){
				l = r;
			}else{
				l = mid;
			}
		}else{
			if (l+1 == r){
				ans = l;
				break;
			}
			r = mid;
		}
	}	

	cout << ans << endl;
}

int32_t main(){
	ios::sync_with_stdio(false);cin.tie(nullptr);
	int t = 1; // cin >> t;
	while (t--) solve();
}
#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...