#include <iostream>
#include <vector>
#include <array>
#include <map>
using namespace std;
struct concurent {
int power;
array<int, 3> inter{};
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n;
vector<int> putere(n);
vector<array<int, 3> > viteza(n);
for (auto &it: viteza) {
for (auto &it2: it)
cin >> it2;
}
cin >> m;
vector<bool> boost(300);
map<int, vector<int> > pos;
while (m--) {
int x;
cin >> x;
boost[x] = true;
}
for (int i = 0; i < n; ++i) {
pos[0].push_back(i);
}
for (int i = 0; i < 300; ++i) {
int cnt = 0;
map<int, vector<int> > nou;
for (auto &[t, v]: pos) {
for (auto &it: v) {
if (boost[i] && putere[it] == 0) {
putere[it] = cnt % 20;
}
if (putere[it]) {
nou[t + 1].push_back(it);
--putere[it];
} else {
nou[t + viteza[it][i / 100]].push_back(it);
}
}
cnt += v.size();
}
pos = nou;
}
vector<int> ans(n);
for (const auto &[t, v]: pos) {
for (const auto &it: v) {
ans[it] = t;
}
}
for (const auto &it: ans) {
cout << it << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |