제출 #1299895

#제출 시각아이디문제언어결과실행 시간메모리
1299895exoworldgdSelf Study (JOI22_ho_t2)C++20
0 / 100
1 ms568 KiB
#pragma GCC optimize("O5,unroll-loops,inline,fast-math")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#include <bits/stdc++.h>
#define int long long
#define exoworldgd cin.tie(0)->sync_with_stdio(0), cout.tie(0)
using namespace std;
const int N=3e5+5;
int n,m,a[N],b[N],l=0,r=1e18,ans=0;
signed main(void) {
    exoworldgd;
    cin >> n >> m;
    for(int i=0;i<n;i++) cin >> a[i];
    for(int i=0;i<n;i++) cin >> b[i];
    while(l<=r){
    	int mid=(l+r)>>1, ex=0,ok=0,need[n];
    	for (int i=0,x; i< n; i++) x=(mid+a[i]-1)/a[i], x=min(x,m), ex+=m-x, need[i]=mid-x*a[i];
    	for (int i=0; i< n;i++) {
    		if (need[i]<=0) continue;
    		int c=(need[i]+b[i]-1)/b[i];
    		if (c>ex) {ok=1; break;}
    		ex-=c;
		}
        ok ? r=mid-1 : (ans=mid+1, l=mid+1);
    }
    cout << ans;
}
#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...