显示原始代码
#include <bits/stdc++.h>
using namespace std;
void check(vector<int> num) {
int n = num.size();
for (int i = 0; i < n; i++) cout << num[i] << " ";
cout << endl;
return;
}
int train(int n) {
int power;
int days = 0;
while (power < n) {
power = 0;
days++;
for (int i = 1; i <= days; i++) {
power += min(i, days - i + 1);
}
}
return days;
}
int main() {
int n, a, b, m;
cin >> n;
vector<int> monst;
vector<int> adm;
vector<int> sol;
int inpu;
for (int i = 0; i < n; i++) {
cin >> inpu;
monst.push_back(inpu);
}
for (int i = 0; i < n; i++) {
cin >> inpu;
adm.push_back(inpu);
}
cin >> m;
for (int i = 0; i < m; i++) {
cin >> inpu;
sol.push_back(inpu);
}
sort(monst.begin(), monst.end());
for (int i = 0; i < m; i++) {
int neg = 0;
int x = sol[i];
for (int j = 0; j < n; j++) {
if (x <= monst[j]) {
neg += monst[j] - x + 1;
x = monst[j] + 1;
x += adm[j];
} else {
x += adm[j];
}
}
cout << train(neg) << " ";
}
return 0;
}