#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<double> dist(n), speed(n), time(n);
for (int i = 0; i < n; i++)
cin >> dist[i];
for (int i = 0; i < n; i++) {
cin >> speed[i];
time[i] = dist[i] / speed[i];
}
sort(time.begin(), time.end());
int ans = 0;
for (auto ti : time)
if (ans < ti)
ans++;
else break;
cout << ans << endl;
}
// 64 位输出请用 printf("%lld")
需要注意题目描述中加粗部分,被摧毁后就不用管了。
整体流程就是,先算出每个怪兽到达时间,并排升序,再遍历,每次抵达时间大于当前答案时,答案+1,否则直接break,因为被摧毁了就结束了。

京公网安备 11010502036488号