제출 #1156272

#제출 시각아이디문제언어결과실행 시간메모리
1156272Alihan_8Garage (IOI09_garage)C++20
100 / 100
2 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

signed main(){
	int n, m; cin >> n >> m;
	
	vector <int> R(n), w(m);
	
	for ( auto &x: R ) cin >> x;
	for ( auto &v: w ) cin >> v;
	
	vector <int> p(n, -1);
	
	queue <int> q;
	
	int ans = 0;
	
	for ( int i = 0; i < m * 2; i++ ){
		int x; cin >> x;
		
		if ( x < 0 ){
			for ( auto &v: p ){
				if ( v == -x ) v = -1;
			}
		} else q.push(x);
		
		for ( int j = 0; j < n; j++ ){
			if ( p[j] == -1 && !q.empty() ){
				int x = q.front(); q.pop();
				
				ans += w[x - 1] * R[j];
				p[j] = x;
			}
		}
	}
	
	cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...