제출 #1287305

#제출 시각아이디문제언어결과실행 시간메모리
1287305tunademayoSelf Study (JOI22_ho_t2)C++20
0 / 100
138 ms5128 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #pragma optimize ("trapv") const bool Multitest = 0; const int N = 3e5 + 10; ll a[N], b[N]; ll n, m; bool check(ll val) { ll ans = 0; for(int i = 1 ; i <= n ; i++) { if(a[i] > b[i]) { ll p = (val + a[i] - 1) / a[i]; p = min(p, m); if(p * a[i] < val) { p += (val - p * a[i] + b[i] - 1) / b[i]; } ans += p; } else { ans += (val + b[i] - 1) / b[i]; } } return ans <= 1ll * n * m; } void work() { cin >> n >> m; for(int i = 1 ; i <= n ; i++) cin >> a[i]; for(int i = 1 ; i <= n ; i++) cin >> b[i]; ll l = 1, r = 2e18, pos = -1; // // cout << check(7) << '\n'; // // return; while(l <= r) { ll mid = (l + r) >> 1; if(check(mid)) l = mid + 1, pos = mid; else r = mid - 1; } cout << pos; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int q = 1; if(Multitest) cin >> q; while(q--) work(); }
#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...