제출 #956644

#제출 시각아이디문제언어결과실행 시간메모리
956644DeltaStructGarage (IOI09_garage)C++17
100 / 100
2 ms688 KiB
#include <bits/stdc++.h>
using namespace std;
 
int main(){
 #define int long long
  int n,m,r(0); cin >> n >> m; vector<int> A(n),B(m),C(m); set<int> s; queue<int> que; for (int i(0);i < n;++i) s.emplace(i);
  for (int &a:A) cin >> a;
  for (int &a:B) cin >> a;
  for (int l(0),i;l < 2*m;++l){
    cin >> i;
    if (i>0) que.emplace(i-1);
    else s.emplace(C[abs(i)-1]);
    if (!que.empty()&&!s.empty()) r+=B[que.front()]*A[*s.begin()],C[que.front()]=*s.begin(),que.pop(),s.erase(s.begin());
  }
  cout << r << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...