Submission #717715

#TimeUsernameProblemLanguageResultExecution timeMemory
717715VMaksimoski008Garage (IOI09_garage)C++14
100 / 100
2 ms340 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back using namespace std; void setIO() { ios_base::sync_with_stdio(false); cout.tie(0); cin.tie(0); } int main() { setIO(); int n, c, pos; int w, op; ll sum = 0; cin >> n >> c; set<int> free; map<int, int> par; queue<int> waitList; int rates[n+1]; int cars[c+1]; for(int i=0; i<n; i++) { cin >> rates[i+1]; free.insert(i+1); } for(int i=0; i<c; i++) { cin >> cars[i+1]; } for(int i=0; i<2*c; i++) { cin >> op; if(op > 0) { if(free.size() > 0) { int place = *free.begin(); sum += rates[place] * cars[op]; free.erase(free.begin()); par[op] = place; } else { waitList.push(op); } } else if(op < 0) { free.insert(par[abs(op)]); if(!waitList.empty()) { int car = waitList.front(); waitList.pop(); sum += rates[*free.begin()] * cars[car]; par[car] = *free.begin(); free.erase(*free.begin()); } par[abs(op)] = 0; } } cout << sum << '\n'; return 0; }

Compilation message (stderr)

garage.cpp: In function 'int main()':
garage.cpp:17:15: warning: unused variable 'pos' [-Wunused-variable]
   17 |     int n, c, pos;
      |               ^~~
garage.cpp:18:9: warning: unused variable 'w' [-Wunused-variable]
   18 |     int w, op;
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...