Submission #508730

#TimeUsernameProblemLanguageResultExecution timeMemory
508730tabrGarage (IOI09_garage)C++17
100 / 100
2 ms444 KiB
#include <bits/stdc++.h> using namespace std; #ifdef tabr #include "library/debug.cpp" #else #define debug(...) #endif int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector<int> r(n); for (int i = 0; i < n; i++) { cin >> r[i]; } vector<int> w(m); for (int i = 0; i < m; i++) { cin >> w[i]; } queue<int> que; vector<int> c(n, -1); int ans = 0; for (int i = 0; i < 2 * m; i++) { int x; cin >> x; if (x > 0) { x = x - 1; que.emplace(x); } else { x = -x - 1; for (int j = 0; j < n; j++) { if (c[j] == x) { c[j] = -1; } } } while (!que.empty() && *min_element(c.begin(), c.end()) == -1) { x = que.front(); que.pop(); for (int j = 0; j < n; j++) { if (c[j] == -1) { c[j] = x; ans += r[j] * w[x]; break; } } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...