제출 #519166

#제출 시각아이디문제언어결과실행 시간메모리
519166AdamGSGarage (IOI09_garage)C++17
100 / 100
2 ms460 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define rep(a, b) for(int a = 0; a < (b); ++a) #define st first #define nd second #define pb push_back #define all(a) a.begin(), a.end() const int LIM=107; int T[LIM], W[20*LIM], P[20*LIM], ans; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; rep(i, n) cin >> T[i]; rep(i, m) cin >> W[i]; priority_queue<int>q; queue<int>kol; rep(i, n) q.push(-i); rep(i, 2*m) { int a; cin >> a; if(a<0) { a*=-1; q.push(-P[a-1]); } else { kol.push(a-1); } while(!kol.empty() && !q.empty()) { int p=-q.top(), x=kol.front(); q.pop(); kol.pop(); P[x]=p; ans+=W[x]*T[p]; } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...