#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
ios::sync_with_stdio(0);
cin.tie(NULL), cout.tie(NULL);
int n, m;
cin>>n>>m;
int a[n], b[n], mn=1e18;
for (int i=0;i<n;i++)
cin>>a[i];
for (int i=0;i<n;i++)
cin>>b[i], mn=min(mn,max(a[i],b[i]));
int s=0, e=1e18;
while (s+1<e)
{
int mid=(s+e)/2;
int su=0;
for (int i=0;i<n;i++)
{
if (max(a[i],b[i])*m>=mid)
{
su-=m-(mid+max(a[i],b[i])-1)/max(a[i],b[i]);
if (m-(mid+max(a[i],b[i])-1)/max(a[i],b[i])>0)
cout<<1/0<<endl;
}
else
su+=(mid-max(a[i],b[i])*m+b[i]-1)/b[i];
}
if (su<=0)
s=mid;
else
e=mid;
}
cout<<s<<endl;
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
Main.cpp: In function 'int main()':
Main.cpp:30:48: warning: division by zero [-Wdiv-by-zero]
30 | cout<<1/0<<endl;
| ~^~| # | 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... |