Submission #393536

#TimeUsernameProblemLanguageResultExecution timeMemory
393536gouravkhungerGarage (IOI09_garage)C++14
100 / 100
2 ms460 KiB
#include <bits/stdc++.h> using namespace std; #define int long long typedef vector<int> vi; #define FOR(i, a, b) for (int i=a; i<=b; i++) #define FIO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); signed main() { FIO; //start here int n, m, x, ans = 0; cin>>n>>m; vi slot(n), weight(m); bool occ[n]; queue<int> waiting; map<int, int> where; FOR(i, 0, n-1) occ[i] = false; int mn = 0; FOR(i, 0, n-1) cin>>slot[i]; FOR(i, 0, m-1) cin>>weight[i]; m*=2; while(m--){ cin>>x; if(x>0){ x--; waiting.push(x); } else { x = abs(x); x--; occ[where[x]] = false; where[x] = -1; } FOR(i, 0, n-1) { if(!occ[i]) { mn = i; break; } else mn = INT_MAX; } if(!waiting.empty()){ if(mn == INT_MAX) continue; int add = (slot[mn]*weight[waiting.front()]); ans+=add; where[waiting.front()] = mn; occ[mn] = true; waiting.pop(); } } cout<<ans; //end here return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...