Submission #1181165

#TimeUsernameProblemLanguageResultExecution timeMemory
1181165nekolieSelf Study (JOI22_ho_t2)C++20
0 / 100
0 ms324 KiB
#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 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...