제출 #1264415

#제출 시각아이디문제언어결과실행 시간메모리
1264415kustov_vadim_533Self Study (JOI22_ho_t2)C++20
10 / 100
38 ms4936 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; #define len(v) (int)((v).size()) const int inf = 1e9; inline void solve(){ ll n, m; cin >> n >> m; vector<ll> a(n); for (int i = 0; i < n; ++i){ cin >> a[i]; } vector<ll> b(n); 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 li = 0, ri = 2e18 + 7; while (ri - li > 1){ ll mi = (li + ri) / 2; ll bl = 0; for (int i = 0; i < n; ++i){ ll us = min(m, (mi + a[i] - 1) / a[i]); ll rm = max(0ll, mi - us * a[i]); bl += m - us; bl -= (rm + b[i] - 1) / b[i]; } if (bl >= 0){ li = mi; } else{ ri = mi; } } ll ans1 = 2e18; for (int i = 0; i < n; ++i){ ans1 = min(ans1, a[i]); } cout << ans1 << '\n'; } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cout.precision(60); int t = 1; // cin >> t; while (t--) { 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...