제출 #956417

#제출 시각아이디문제언어결과실행 시간메모리
956417emad234Garage (IOI09_garage)C++17
100 / 100
2 ms2648 KiB
#include <bits/stdc++.h> #define ll long long #define F first #define S second #define pii pair<ll, ll> const ll mod = 1e9 + 7; const ll mxN = 1e5 + 5; using namespace std; ll val[mxN]; ll w[mxN]; ll pk[mxN]; int main(){ int n,m; cin >>n>>m; priority_queue<int,vector<int>,greater<int>>q; for(int i = 1;i <= n;i++){ cin >>val[i]; q.push(i); } queue<int>car; ll ans = 0; for(int i = 1;i <= m;i++) cin >>w[i]; for(int i = 0;i < m * 2;i++){ int x; cin >>x; if(x > 0){ if(q.size()){ ans += val[q.top()] * w[x]; pk[x] = q.top(); q.pop(); }else{ car.push(x); } }else{ x *= -1; if(car.size()){ ans += w[car.front()] * val[pk[x]]; pk[car.front()] = pk[x]; car.pop(); }else{ q.push(pk[x]); } } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...