Submission #114235

#TimeUsernameProblemLanguageResultExecution timeMemory
114235nvmdavaGarage (IOI09_garage)C++17
100 / 100
4 ms384 KiB
#include <bits/stdc++.h> using namespace std; int w[2001], p[101], loc[2001]; set<int> pos; queue<int> q; int main(){ int n, m; cin>>n>>m; for(int i = 1; i <= n; i++){ cin>>p[i]; pos.insert(i); } for(int i = 1; i <= m; i++){ cin>>w[i]; } for(int i = 1; i <= 2 * m; i++){ int k; cin>>k; if(k > 0) q.push(k); else pos.insert(loc[-k]); while(pos.size() && !q.empty()){ int a = *pos.begin(); loc[q.front()] = a; pos.erase(pos.begin()); q.pop(); } } long long ans = 0; for(int i = 1; i <= m; i++){ ans += (long long)w[i] * p[loc[i]]; } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...