제출 #276647

#제출 시각아이디문제언어결과실행 시간메모리
276647barsboldGarage (IOI09_garage)C++14
100 / 100
6 ms416 KiB
#include<bits/stdc++.h> #define pb push_back #define mp make_pair #define ff first #define ss second using namespace std; int r[2001]; int w[2001]; int s[2002]; int vis[2001]; int res =0; int n , m; int main(){ cin >> n; cin >>m; memset(vis , 0 , sizeof(vis)); vector<int> wait; for(int i = 1; i<=n; i++){ cin >> r[i]; } for(int i = 1; i<=m; i++){ cin >> w[i]; } for(int i = 1; i<=m * 2; i++){ int tmp; cin >> tmp; if(tmp > 0){ bool flag =true; for(int i = 1; i<=n; i++){ if(vis[i] == 0){ res+=r[i] * w[tmp]; vis[i] = tmp; flag = false; break; } } if(flag) wait.pb(tmp); } else { int sul = -1; for(int i = 1; i<=n; i++){ if(vis[i] == tmp * (-1)){ vis[i] = 0; sul = i; break; } } if(wait.size()!=0 ) { res+=w[wait[0]] * r[sul]; vis[sul] = wait[0]; wait.erase(wait.begin()); } } } cout << res << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...