제출 #729252

#제출 시각아이디문제언어결과실행 시간메모리
729252tch1cherinSelf Study (JOI22_ho_t2)C++17
64 / 100
250 ms9124 KiB
#include <bits/stdc++.h>
using namespace std;

const long long MAX_ANSWER = 2e18 + 5;

void solve() {
  int n, m;
  cin >> n >> m;
  vector<int> a(n), b(n);
  for (int &v : a) {
    cin >> v;
  }
  for (int &v : b) {
    cin >> v;
  }
  if (m == 1) {
    int ans = INT_MAX;
    for (int i = 0; i < n; i++) {
      ans = min(ans, max(a[i], b[i]));
    }
    cout << ans << "\n";
  } else {
    long long l = -1, r = MAX_ANSWER;
    while (r > l + 1) {
      long long mid = (l + r) / 2;
      long long req = 0;
      for (int i = 0; i < n; i++) {
        req += (mid + b[i] - 1) / b[i];
        req = min(req, MAX_ANSWER); 
      }
      if (req > 1ll * n * m) {
        r = mid;
      } else {
        l = mid;
      }
    }
    cout << l << "\n";
  }
}

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  solve();
}
#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...