//Denysiuk Illia will win EJOI 2026
//Denysiuk Illia will win UJGOI 2026
//Антон Перебейнис ничего не ботал
#include <algorithm>
#include <bits/stdc++.h>
#include <cassert>
#include <functional>
using namespace std;
const long long INF=1e17;
const long long mod=1e9+7;
const long long maxlog=22;
using victor = vector<int>;
using victorl = vector<long long>;
using dih = deque<int>;
using pll=pair<int,int>;
using ll = long long;
const int NIGGA=2*1e5+10;
long long ceil(ll a,ll b){
return max(0ll,(a+b-1)/b);
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
ll m;
cin>>n>>m;
victorl a(n),b(n);
for(auto &ai:a)cin>>ai;
for(auto &bi:b)cin>>bi;
ll l=0,r=1e18;
while(r-l>1){
ll tm=(l+r)/2;
ll cnt=1ll*n*m;
bool bad=false;
for(int i=0;i<n;i++){
long long mn=0;
if(a[i]>b[i]){
if(ceil(tm,a[i])>m)mn=m+ceil(tm-m*a[i],b[i]);
else mn=ceil(tm,a[i]);
}
else{
mn=ceil(tm,b[i]);
}
if(cnt-mn<0){
bad=true;
break;
}else cnt-=mn;
}
if(!bad)l=tm;
else r=tm;
}
cout<<l<<'\n';
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |