Submission #372861

#TimeUsernameProblemLanguageResultExecution timeMemory
372861lakshith_Garage (IOI09_garage)C++14
100 / 100
3 ms384 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int main(){ int n,m; cin >> n >> m; int r[n],w[m]; for(int i=0;i<n;i++)cin >> r[i]; for(int i=0;i<m;i++)cin >> w[i]; ll ans = 0; int space[n]; memset(space,-1,sizeof(space)); queue<int> q; for(int i=0;i<2*m;i++){ int a; cin >> a; if(a<0){ a*=-1; a--; int index = 0; for(int j=0;j<n;j++)if(space[j]==a)index = j; space[index]=-1; }else{ a--; q.push(a); } if(q.empty())continue; int index = -1; for(int j=0;j<n;j++) if(space[j]==-1){ index =j; break; } if(index!=-1){ //cout << index+1 << "\t" << q.front()+1 << "\n"; space[index]=q.front(); ans += r[index]*w[q.front()]; q.pop(); } } cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...