제출 #1278933

#제출 시각아이디문제언어결과실행 시간메모리
1278933sagnbaevvGarage (IOI09_garage)C++20
100 / 100
1 ms584 KiB
#include <bits/stdc++.h> #define int long long using namespace std; void solve() { int n, m; cin >> n >> m; vector <int> r(n + 1); for (int i = 1; i <= n; i++) { cin >> r[i]; } vector <int> v(m + 1); for (int i = 1; i <= m; i++) { cin >> v[i]; } int ans = 0, num = n; vector <int> free(n + 1,0); queue <int> q; for (int i = 0; i < m * 2; i++) { int x; cin >> x; if (x > 0) { if (num) { for (int j = 1; j <= n; j++) { if (free[j] == 0) { free[j] = x; ans += (v[x] * r[j]); break; } } num--; } else { q.push(x); } } else { for (int j = 1; j <= n; j++) { if (free[j] == abs(x)) { free[j] = 0; num++; if (!q.empty()) { free[j] = q.front(); q.pop(); ans += (v[free[j]] * r[j]); num--; } break; } } } } cout << ans << endl; } signed main() { ios::sync_with_stdio(false); cin.tie(0); int t = 1; //cin >> t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...