Submission #923416

#TimeUsernameProblemLanguageResultExecution timeMemory
923416goodspeed0208Self Study (JOI22_ho_t2)C++14
0 / 100
285 ms5140 KiB
#include<bits/stdc++.h>
#define int long long
#define pii pair<int, int>
using namespace std;

signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, m;
	cin >> n >> m;
	vector<int>a(n), b(n);
	for (auto &i : a) cin >> i;
	for (auto &i : b) cin >> i;
	
	int l = 1, r = 1000000000000000005, mid;
	while (l + 1 < r) {
		mid = (l + r) / 2;
		int need = 0;
		for (int i = 0 ; i < n ; i++) {
			if (a[i] > b[i]) {
				if (mid > a[i] * m) {
					need += m + (mid - a[i] * m) / b[i];
					if ((mid - a[i] * m ) % b[i] != 0) need++;
				}
				else {
					need += mid / a[i];
					if (mid % a[i] != 0) need++;
				}
			} else {
				need += (mid / b[i]);
				if (mid % b[i] != 0) need++;
			}
		}
		if (need <= n * m) {
			l = mid;
			//cout << l << " " << need << "\n";
		} else {
			r = mid;
			//cout << r << " " << need << "\n";
		}
	}
	cout << l << "\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...