제출 #488621

#제출 시각아이디문제언어결과실행 시간메모리
488621AlexandruabcdeGarage (IOI09_garage)C++14
45 / 100
1 ms592 KiB
#include <bits/stdc++.h> using namespace std; constexpr int NMAX = 105; constexpr int MMAX = 2005; int N, M; int ans = 0; int R[NMAX], W[NMAX]; void Read () { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> N >> M; for (int i = 1; i <= N; ++ i ) cin >> R[i]; for (int i = 1; i <= M; ++ i ) cin >> W[i]; } int occ[MMAX]; priority_queue <int, vector <int>, greater<int> > H; queue <int> Q; void Solve () { int ans = 0; for (int i = 1; i <= N; ++ i ) H.push(i); for (int event = 1; event <= 2 * M; ++ event ) { int x; cin >> x; if (x > 0) Q.push(x); else H.push(occ[-x]); while (!Q.empty() && !H.empty()) { int car = Q.front(); Q.pop(); int park = H.top(); H.pop(); ans += W[car] * R[park]; occ[car] = park; } } cout << ans << '\n'; } int main () { Read(); Solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...