Submission #408669

#TimeUsernameProblemLanguageResultExecution timeMemory
408669JasiekstrzGarage (IOI09_garage)C++17
100 / 100
2 ms368 KiB
#include<bits/stdc++.h> #define fi first #define se second using namespace std; set<int> st; queue<int> qq; int c[110]; int w[2010]; int t[2010]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,m,ans=0; cin>>n>>m; for(int i=1;i<=n;i++) { cin>>c[i]; st.insert(i); } for(int i=1;i<=m;i++) cin>>w[i]; for(int i=1;i<=2*m;i++) { int x; cin>>x; if(x>0) qq.push(x); while(!qq.empty() && !st.empty()) { ans+=w[qq.front()]*c[*st.begin()]; t[qq.front()]=*st.begin(); st.erase(st.begin()); qq.pop(); } if(x<0) st.insert(t[-x]); } cout<<ans<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...