제출 #1154485

#제출 시각아이디문제언어결과실행 시간메모리
1154485tsengangSelf Study (JOI22_ho_t2)C++20
100 / 100
234 ms7456 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define all(x) (x).begin(), (x).end() #define pb push_back #define ertunt return const int MOD = 998244353; #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") int main() { ll n, m; cin >> n >> m; ll a[n], b[n]; for(ll i = 0; i < n; i++) cin >> a[i]; for(ll i = 0; i < n; i++) cin >> b[i]; ll l = 0,r = 1e18; while(l < r){ ll mid = (l+r+1)/2; vector<ll>v(n+1,mid); ll left = n*m; for(ll i = 0; i < n; i++){ ll cur = min((v[i]+max(a[i],b[i])-1)/max(a[i],b[i]),m); left-=cur; v[i]-=cur*max(a[i],b[i]); } for(ll i = 0;i < n; i++){ if(left<0)break; if(v[i] > 0){ left-=(v[i]+b[i]-1)/b[i]; } } if(left < 0){ 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...