제출 #907561

#제출 시각아이디문제언어결과실행 시간메모리
907561AlphaMale06Self Study (JOI22_ho_t2)C++14
10 / 100
72 ms5208 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; #define yes cout << "YES\n" #define no cout << "NO\n" #define F first #define S second #define pb push_back #define mp make_pair #define all(x) (x).begin(), (x).end() #define int long long void solve(){ int n, m; cin >> n >> m; int a[n], b[n]; for(int i=0; i< n; i++)cin >> a[i]; for(int i=0; i< n; i++)cin >> b[i]; int l=0; int r=1e18+1; int ans=0; if(m==1){ ans=1e18; for(int i=0; i< n; i++){ ans=min(ans, max(a[i], b[i])); } cout << ans << '\n'; return; } while(l<=r){ int s=l+r>>1; int save=n*m; for(int i=0; i< n; i++){ int mx=max(a[i], b[i]); if(mx*m>=s)save-=(s+mx-1)/mx; else save-=m+(s-mx*m+b[i]-1)/b[i]; } if(save>=0){ ans=s; l=s+1; } else r=s-1; } cout << ans << '\n'; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); solve(); }

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'void solve()':
Main.cpp:32:10: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   32 |   int s=l+r>>1;
      |         ~^~
#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...