Submission #974081

#TimeUsernameProblemLanguageResultExecution timeMemory
974081marinalucaGarage (IOI09_garage)C++17
100 / 100
2 ms2528 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("O4") #pragma GCC optimize ("fast-math") #pragma GCC optimize ("unroll-loops") using namespace std; #define int long long #define ll long long #define xx first #define yy second #define all (x) begin(x), end(x) int n, m; const int NMAX = 1e5 + 10; int v[NMAX], w[NMAX], ans[NMAX]; int sum; queue <int> pq; signed main(void){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> m; for (int i = 1; i <= n; ++ i){ cin >> v[i]; } for (int i = 1; i <= m; ++ i){ cin >> w[i]; } for (int i = 0; i < 2 * m; ++ i){ int x; cin >> x; if (x > 0) pq.push(x); else{ for (int i = 1; i <= n; ++ i){ if (ans[i] == -x){ ans[i] = 0; } } } for (int i = 1; i <= n; ++ i){ if (!pq.empty() && ans[i] == 0){ ans[i] = pq.front(); pq.pop(); sum += w[ans[i]] * v[i]; } } } cout << sum; return 0 ^ 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...