Submission #401996

#TimeUsernameProblemLanguageResultExecution timeMemory
401996AzimjonGarage (IOI09_garage)C++17
100 / 100
2 ms332 KiB
// Muallif: Azimjon Mehmonali o'g'li #include <bits/stdc++.h> using namespace std; #define int long long const long double PI = 3.1415926535897; const int mod = 1000000007LL; const int INF = 1e18; signed main() { ios::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector<int> r(n + 1), o(m + 1); for (int i = 1; i <= n; i++) { cin >> r[i]; } for (int i = 1; i <= m; i++) { cin >> o[i]; } vector<int> p(n + 1, -1); queue<int> q; int nt = 0; for (int i = 1; i <= 2 * m; i++) { int x; cin >> x; if (x > 0) { q.push(x); } else { for (int j = 1; j <= n; j++) { if (p[j] == -x) { p[j] = -1; break; } } } while (any_of(p.begin() + 1, p.end(), [](int x) { return x == -1; }) && !q.empty()) { int y = q.front(); q.pop(); for (int j = 1; j <= n; j++) { if (p[j] == -1) { p[j] = y; nt += o[y] * r[j]; break; } } } } // cout << q.empty() << endl; cout << nt << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...