Submission #663389

#TimeUsernameProblemLanguageResultExecution timeMemory
663389esomerGarage (IOI09_garage)C++17
100 / 100
1 ms340 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define endl "\n" const int MOD = 1e9 + 7; void solve(){ int n, m; cin >> n >> m; vector<int> v(n); for(auto &i : v) cin >> i; vector<int> w(m); for(auto &i : w) cin >> i; ll ans = 0; queue<int> q; vector<int> spaces(n, -1); for(int i = 0; i < 2 * m; i++){ int x; cin >> x; if(x > 0){ x--; bool placed = 0; for(int j = 0; j < n; j++){ if(spaces[j] == -1){ ans += w[x] * v[j]; placed = 1; spaces[j] = x; break; } } if(!placed) q.push(x); }else{ x = abs(x) - 1; for(int j = 0; j < n; j++){ if(spaces[j] == x){ if(q.size() > 0){ spaces[j] = q.front(); q.pop(); ans += w[spaces[j]] * v[j]; }else spaces[j] = -1; } } } } cout << ans << endl; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); //freopen("inpt.txt", "r", stdin); //freopen("out.txt", "w", stdout); //int tt; cin >> tt; int tt = 1; for(int t = 1; t <= tt; t++){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...