#include #include #include #include using namespace std; bool cmp(pair& a, pair& b) { return a.second < b.second; } int main() { long long k; cin >> k; vector t; vector s; for (long long i = 0; i < k; i++) { long long ti; cin >> ti; t.push_back(ti); } for (long long i = 0; i < k; i++) { long long si; cin >> si; s.push_back(si); } vector> ts; for (long long i = 0; i < k; i++) { if (s[i] == -1) { continue; } ts.push_back(make_pair(t[i], s[i])); } sort(ts.begin(), ts.end(), cmp); long long c = 1; long long sum = 0; for (int i = 0; i < ts.size(); i++) { sum += ts[i].first; int toadd = ceil(sum * 1.0 / ts[i].second - c); if (toadd > 0) { c += toadd; } } cout << c << endl; return 0; }