제출 #313374

#제출 시각아이디문제언어결과실행 시간메모리
313374fergonzgut21Garage (IOI09_garage)C++14
100 / 100
4 ms384 KiB
#include <iostream> #include <queue> #define MAX 105 #define MAX2 2005 using namespace std; int N, M, A[MAX], res, B[MAX2], a, num, C[MAX2]; priority_queue <int> qiu; queue <int> qiu2; int main() { cin >> N >> M; for (int i = 1; i <= N; i++) { cin >> A[i]; qiu.push(i * -1); } for (int i = 1; i <= M; i++) cin >> B[i]; for (int i = 1; i <= M * 2; i++) { cin >> a; if (a > 0) { if (qiu.empty()) qiu2.push(a); else { C[a] = qiu.top() * -1; res += A[qiu.top() * -1] * B[a]; qiu.pop(); } } else { qiu.push(C[a * -1] * -1); if (!qiu2.empty()) { a = qiu2.front(); qiu2.pop(); C[a] = qiu.top() * -1; res += A[qiu.top() * -1] * B[a]; qiu.pop(); } } } cout << res; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...