#include <bits/stdc++.h>
using namespace std;
int n;
long long m, risa[300000][2];
bool czy(long long x) {
long long a = 0, b = 0;
for (int i = 0; i < n; i++) {
if (risa[i][0] <= risa[i][1])
a += m, b += (x+risa[i][1]-1)/risa[i][1];
else {
if (m >= (x+risa[i][0]-1)/risa[i][0])
a += m-(x+risa[i][0]-1)/risa[i][0];
else
b += (x-m*risa[i][0]+risa[i][1]-1)/risa[i][1];
}
if (b > n*m)
return false;
}
return (a >= b);
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n >> m;
for (int i = 0; i < n; i++)
cin >> risa[i][0];
for (int i = 0; i < n; i++)
cin >> risa[i][1];
long long l = 1, r = 1000000000000000007;
while (l < r) {
long long s = (l+r+1)/2;
if (czy(s))
l = s;
else
r = s-1;
}
cout << l << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |