Submission #978422

#TimeUsernameProblemLanguageResultExecution timeMemory
978422tamir1Garage (IOI09_garage)C++17
100 / 100
1 ms452 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; ll n,m,i,ans,w[2005],p[105],loc[2005],idx,val; queue<ll> q; set<ll> s; int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n >> m; for(i=1;i<=n;i++){ cin >> p[i]; s.insert(i); } for(i=1;i<=m;i++) cin >> w[i]; for(i=1;i<=2*m;i++){ cin >> val; if(val<0){ val=-val; s.insert(loc[val]); } else q.push(val); while(!s.empty() && !q.empty()){ idx=*(s.begin()); s.erase(s.begin()); val=q.front(); q.pop(); loc[val]=idx; ans+=w[val]*p[idx]; } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...