Submission #595212

#TimeUsernameProblemLanguageResultExecution timeMemory
595212PoPularPlusPlusSelf Study (JOI22_ho_t2)C++17
0 / 100
261 ms6160 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define pb(e) push_back(e) #define sv(a) sort(a.begin(),a.end()) #define sa(a,n) sort(a,a+n) #define mp(a,b) make_pair(a,b) #define vf first #define vs second #define ar array #define all(x) x.begin(),x.end() const int inf = 0x3f3f3f3f; const int mod = 1000000007; const double PI=3.14159265358979323846264338327950288419716939937510582097494459230; bool remender(ll a , ll b){return a%b;} //freopen("problemname.in", "r", stdin); //freopen("problemname.out", "w", stdout); void solve(){ ll n , m; cin >> n >> m; ll arr[n] , b[n]; for(int i = 0; i < n; i++)cin >> arr[i]; for(int i = 0; i < n; i++)cin >> b[i]; ll l = 1, r = 1e15 , ans; while(l <= r){ ll mid = (l + r)/2; ll chance = 0; for(int i = 0; i < n; i++){ ll sum = max(arr[i] , b[i]) * m; if(sum <= mid){ ll x = mid - sum; chance -= x / b[i] + remender(x , b[i]); } else { ll need = mid / max(arr[i] , b[i]) + remender(mid , max(arr[i] , b[i])); chance += m - need; } } if(chance >= 0){ ans = mid; l = mid + 1; } else r = mid - 1; } cout << ans << '\n'; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); //int t;cin >> t;while(t--) solve(); return 0; }
#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...