Submission #538651

#TimeUsernameProblemLanguageResultExecution timeMemory
538651Harry464Self Study (JOI22_ho_t2)C++14
0 / 100
483 ms10784 KiB
#include <cmath>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

typedef long long ll;

int main(){

    ll n, m;
    cin >> n >> m; 

    vector <double> a(n);
    vector <double> b(n);

    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int i = 0; i < n; i++)
        cin >> b[i];

    for (int i = 0; i < n; i++)
        a[i] = max(a[i], b[i]);

    ll l = 0, r = 1000000000000000000;

    while (l < r){

        ll mid = (l+r+1)/2;

        ll potrebno = 0;

        for (int i = 0; i < n; i++){

           ll maksa = ceil(mid/a[i]);
           potrebno += min(maksa, m);

           ll maksb = ceil((mid-min(maksa, m)*a[i])/b[i]);
           potrebno += max((ll) 0, maksb);

        }

        if (potrebno > n*m)
          r = mid - 1;
        else
         l = mid;

    }

    cout << l;

}
#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...