제출 #1267678

#제출 시각아이디문제언어결과실행 시간메모리
1267678enzySelf Study (JOI22_ho_t2)C++20
100 / 100
125 ms5132 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=3e5+10; const ll inf=1e18+10; ll a[maxn], b[maxn]; bool check(ll x, ll n, ll m){ ll qtd=0; for(int i=1;i<=n;i++){ //cout << x << " " << a[i] << " " << b[i] << endl; if(b[i]>=a[i]) qtd+=(x+b[i]-1)/b[i]; else{ if(a[i]*m>=x) qtd+=(x+a[i]-1)/a[i]; else{ ll y=x-a[i]*m; qtd+=m; qtd+=(y+b[i]-1)/b[i]; } } if(qtd>n*m) return false; } //cout << x << " " << qtd << endl; return true; } int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); ll n, m; 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=0, r=inf; while(l<r){ ll mid=(l+r+1)/2; if(check(mid,n,m)) l=mid; else r=mid-1; } cout << l << endl; }
#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...