Submission #1152996

#TimeUsernameProblemLanguageResultExecution timeMemory
1152996susanthenerdSegway (COI19_segway)C++20
100 / 100
154 ms1544 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...