Submission #717705

#TimeUsernameProblemLanguageResultExecution timeMemory
717705AndrijaMGarage (IOI09_garage)C++14
40 / 100
3 ms340 KiB
#include <bits/stdc++.h> using namespace std; int main() { int ans=0; int n,m; cin>>n>>m; int cpp[n]; map<int,int>l; bool vis[n]; for(int i=0;i<n;i++) { cin>>cpp[i]; vis[i]=false; } int mass[m]; for(int i=0;i<m;i++) { cin>>mass[i]; } int idx; queue<int>Q; for(int i=0;i<2*m;i++) { cin>>idx; if(idx>0) { bool ok=false; for(int pos=0;pos<n;pos++) { if(vis[pos]==false) { ans+=cpp[pos]*mass[idx-1]; l[idx]=pos; vis[pos]=true; ok=true; break; } } if(!ok) { Q.push(idx); } } else { idx*=(-1); if(Q.size()>0) { ans+=cpp[l[idx]]*mass[Q.front()-1]; Q.pop(); } else { vis[l[idx]]=false; } } } cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...