Language: C++

#include <bits/stdc++.h>
#include <string>
#include <vector>
#include <iostream>
#define rep(ii, jj) for (int (ii)=0;(ii)<(jj);(ii)++)
#define dump(x)  cout << #x << " = " << (x) << endl;
#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;
using namespace std;
typedef long long ll;

ll MAX_N = 2*10e5;
ll N, K;
vector<ll> A(N); vector<ll> F(N);
vector<ll> C(N);

void input(){
    cin >> N >> K;
    rep(i, N)cin >> A[i];
    rep(i, N) cin >> F[i];
}

void solve(){
    sort(A.begin(), A.end());
    sort(F.rbegin(), F.rend());
    ll l = -1, r = 1e12;
    while(l+1<r){
        ll c = (l+r)/2;
        bool ok = [&]{
            ll t = 0;
            rep(i, N) {
                t += max(0, A[i] - c/F[i]);
            }
            return t <= K;
        }();
        if(ok) r = c;else l = c;
    }
    cout << r << endl;
    


}

int main (){
    input();
    solve();
    return 0;
}

Compiler output:
a.cc: In lambda function:
a.cc:31:25: error: no matching function for call to 'max(int, __gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type)'
   31 |                 t += max(0, A[i] - c/F[i]);
      |                      ~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:31:25: note:   deduced conflicting types for parameter 'const _Tp' ('int' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'})
   31 |                 t += max(0, A[i] - c/F[i]);
      |                      ~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:31:25: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   31 |                 t += max(0, A[i] - c/F[i]);
      |                      ~~~^~~~~~~~~~~~~~~~~~