답안 #940352

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
940352 2024-03-07T08:22:09 Z HappyCapybara Garage (IOI09_garage) C++17
100 / 100
2 ms 348 KB
#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
    int n, m; cin >> n >> m;
    vector<int> r(n);
    for (int i=0; i<n; i++) cin >> r[i];
    vector<int> w(m);
    for (int i=0; i<m; i++) cin >> w[i];
    vector<bool> t(n, false);
    vector<int> s(m);
    int res = 0;
    queue<int> q;
    for (int i=0; i<2*m; i++){
        int x;
        cin >> x;
        if (x < 0){
            x++; x = -x;
            t[s[x]] = false;
            if (!q.empty()){
                t[s[x]] = true;
                s[q.front()] = s[x];
                //cout << r[s[x]] << " " << w[q.front()] << ": ";
                res += r[s[x]] * w[q.front()];
                q.pop();
                //cout << res << "\n";
            }
            continue;
        }
        x--;
        int j = 0;
        while (t[j] && j<n) j++;
        if (j == n){
            q.push(x);
            continue;
        }
        t[j] = true;
        s[x] = j;
        res += r[j] * w[x];
        //cout << res << "\n";
    }
    cout << res << "\n";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Correct 1 ms 348 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 2 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct