제출 #940352

#제출 시각아이디문제언어결과실행 시간메모리
940352HappyCapybaraGarage (IOI09_garage)C++17
100 / 100
2 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define int long long signed main(){ int n, m; cin >> n >> m; vector<int> r(n); for (int i=0; i<n; i++) cin >> r[i]; vector<int> w(m); for (int i=0; i<m; i++) cin >> w[i]; vector<bool> t(n, false); vector<int> s(m); int res = 0; queue<int> q; for (int i=0; i<2*m; i++){ int x; cin >> x; if (x < 0){ x++; x = -x; t[s[x]] = false; if (!q.empty()){ t[s[x]] = true; s[q.front()] = s[x]; //cout << r[s[x]] << " " << w[q.front()] << ": "; res += r[s[x]] * w[q.front()]; q.pop(); //cout << res << "\n"; } continue; } x--; int j = 0; while (t[j] && j<n) j++; if (j == n){ q.push(x); continue; } t[j] = true; s[x] = j; res += r[j] * w[x]; //cout << res << "\n"; } cout << res << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...