Submission #474088

#TimeUsernameProblemLanguageResultExecution timeMemory
474088ValiAntonieGarage (IOI09_garage)C++14
100 / 100
2 ms332 KiB
#include <bits/stdc++.h> using namespace std; int n,mr,i,x,m[2001],j,ok,indice; queue <int> Q; long long suma; pair<int,int> v[101]; int main() { cin>>n>>mr; for(i=1;i<=n;i++) cin>>v[i].first; for(i=1;i<=mr;i++) cin>>m[i]; for(i=1;i<=2*mr;i++){ cin>>x; if(x > 0){ ok = 0; for(j=1;j<=n;j++){ if(!v[j].second){ suma += 1LL * m[x] * v[j].first; v[j].second = x; ok = 1; break; } } if(!ok) Q.push(x); } else{ indice = 0; for(j=1;j<=n;j++){ if(v[j].second == -x){ indice = j; v[j].second = 0; break; } } if(Q.empty()==false){ suma += 1LL * m[Q.front()] * v[indice].first; v[indice].second = Q.front(); Q.pop(); } } } cout << suma; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...