제출 #893185

#제출 시각아이디문제언어결과실행 시간메모리
893185MackerGarage (IOI09_garage)C++17
100 / 100
1 ms512 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define all(v) v.begin(), v.end() //#pragma GCC optimize("Ofast") //#pragma GCC target("avx2") int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector<int> p(n); vector<int> w(m); for(int& i : p) cin >> i; for(int& i : w) cin >> i; set<int> e; for (int i = 0; i < n; i++) e.insert(i); vector<int> place(m); queue<int> q; for (int i = 0; i < 2 * m; i++) { int a; cin >> a; if(a > 0){ a--; if(e.empty()) q.push(a); else { int i = *e.begin(); place[a] = i; e.erase(i); } } else{ a = -a; a--; e.insert(place[a]); if(!q.empty()){ a = q.front(); q.pop(); int i = *e.begin(); place[a] = i; e.erase(i); } } } ll res = 0; for (int i = 0; i < m; i++) { res += w[i] * p[place[i]]; } cout << res << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...