제출 #1007472

#제출 시각아이디문제언어결과실행 시간메모리
1007472huutuanGarage (IOI09_garage)C++14
100 / 100
1 ms480 KiB
#include <bits/stdc++.h>

using namespace std;

int n, m, r[110], w[2010], pos[2010], id[110];

int32_t main(){
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);
   cin >> n >> m;
   for (int i=1; i<=n; ++i) cin >> r[i];
   for (int i=1; i<=m; ++i) cin >> w[i];
   int ans=0;
   queue<int> q;
   for (int i=1; i<=m*2; ++i){
      int x; cin >> x;
      if (x>0){
         q.push(x);
      }else{
         x=-x;
         id[pos[x]]=0;
         pos[x]=0;
      }
      while (q.size()){
         int j=-1;
         for (int k=1; k<=n; ++k) if (id[k]==0){
            j=k;
            break;
         }
         if (j==-1) break;
         id[j]=q.front();
         pos[q.front()]=j;
         ans+=r[j]*w[q.front()];
         q.pop();
      }
   }
   cout << ans << '\n';
   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...