제출 #1034940

#제출 시각아이디문제언어결과실행 시간메모리
1034940ArthuroWichGarage (IOI09_garage)C++17
100 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int void solve() { int n, m, ans = 0; cin >> n >> m; vector<int> r(n+1), w(m+1), space(m+1, -1); priority_queue<int> available; queue<int> cars; for (int i = 1; i <= n; i++) { cin >> r[i]; available.push(-i); } for (int i = 1; i <= m; i++) { cin >> w[i]; } for (int i = 0; i < 2*m; i++) { int x; cin >> x; if (x < 0) { x = abs(x); ans += w[x]*r[space[x]]; if (!cars.empty()) { space[cars.front()] = space[x]; cars.pop(); } else { available.push(-space[x]); } } else if (available.empty()) { cars.push(x); } else { space[x] = -available.top(); available.pop(); } } cout << ans << endl; } int32_t main() { ios::sync_with_stdio(0); cin.tie(0); int t; t = 1; while(t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...