제출 #1327821

#제출 시각아이디문제언어결과실행 시간메모리
1327821tkm_algorithmsSelf Study (JOI22_ho_t2)C++20
0 / 100
136 ms5120 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
#define int ll
using P = pair<int, int>;
#define all(x) x.begin(), x.end()
#define rep(x,s,e) for (auto x=(s)-((s)>(e));x!=(e)-((s)>(e));((s)<(e)?x++:x--))
#define sz(x) (int)x.size()
const char nl = '\n';
const int mod = 998244353;

void solve() {
	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 = 0, r = 1e18+10;
	while (r-l>1) {
		int mid = l+r>>1;
		int sm = 0;
		rep(i, 0, n) {
			int mx = max(a[i], b[i]);
			//assert(mx > 0);
			int x = (mid+mx-1)/mx;
			if (x <= m)sm += m-x;
			else {
				x = mid-m*mx;
				sm -= (x+b[i]-1)/b[i];
			}
		}
		if (0 <= sm)l = mid;
		else r = mid;
	}
	cout << l << nl;
}

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}
#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...