답안 #534065

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
534065 2022-03-07T23:31:46 Z devariaota Garage (IOI09_garage) C++17
100 / 100
2 ms 332 KB
#include <bits/stdc++.h>
 
using namespace std;
using ll = long long;
 
const int N = 102;
const int M = 2002;
bool vis[N];
int pos[M];
 
int main(){
    int n, m; cin >> n >> m;
    ll r[n + 1], w[m + 1];
    ll ans = 0;
 
    for(int i = 1; i <= n; i++) cin >> r[i];
    for(int i = 1; i <= m; i++) cin >> w[i];
 
    queue<int>q;
 
    for(int i = 0; i < 2*m; i++){
        int x; cin >> x;
 
        if(x > 0) q.push(x);
        else if(x < 0) vis[pos[-x]] = false;
 
        if(!q.empty()){
            int now = q.front();
            for(int j = 1; j <= n; j++){
                if(!vis[j]){
                    pos[now] = j;
                    ans += r[j]*w[now];
                    vis[j] = true;
                    q.pop();
                    break;
                }
            }
        }
    }
 
    cout << ans << endl;
 
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 296 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 300 KB Output is correct
10 Correct 1 ms 204 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 2 ms 332 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 2 ms 204 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 2 ms 312 KB Output is correct
18 Correct 2 ms 332 KB Output is correct
19 Correct 2 ms 332 KB Output is correct
20 Correct 2 ms 332 KB Output is correct