Submission #1089047

#TimeUsernameProblemLanguageResultExecution timeMemory
1089047kokoueGarage (IOI09_garage)C++14
100 / 100
1 ms348 KiB
#include<bits/stdc++.h> #define maxn 110 #define maxm 2010 #define ll long long using namespace std; ll n,m; ll r[maxn],w[maxm],where[maxm]; bool is[maxn]; ll ans=0; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>m; for(ll i=0;i<n;i++) { cin>>r[i]; } for(ll i=1;i<=m;i++) { cin>>w[i]; } queue<ll> q; while(!q.empty()) q.pop(); for(ll j=0;j<2*m;j++) { ll curr; cin>>curr; if(curr<0) { curr*=-1; is[where[curr]]=0; for(ll i=0;i<n;i++) { if(q.size()==0) break; if(is[i]==0) { curr=q.front(); ans+=r[i]*w[curr]; where[curr]=i; is[i]=1; q.pop(); } } continue; } q.push(curr); for(ll i=0;i<n;i++) { if(q.size()==0) break; if(is[i]==0) { curr=q.front(); ans+=r[i]*w[curr]; where[curr]=i; is[i]=1; q.pop(); } } } cout<<ans<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...