| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 663389 | esomer | Garage (IOI09_garage) | C++17 | 1 ms | 340 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
const int MOD = 1e9 + 7;
void solve(){
    int n, m; cin >> n >> m;
    vector<int> v(n); for(auto &i : v) cin >> i;
    vector<int> w(m); for(auto &i : w) cin >> i;
    ll ans = 0;
    queue<int> q;
    vector<int> spaces(n, -1);
    for(int i = 0; i < 2 * m; i++){
        int x; cin >> x;
        if(x > 0){
            x--;
            bool placed = 0;
            for(int j = 0; j < n; j++){
                if(spaces[j] == -1){
                    ans += w[x] * v[j];
                    placed = 1;
                    spaces[j] = x;
                    break;
                }
            }
            if(!placed) q.push(x);
        }else{
            x = abs(x) - 1;
            for(int j = 0; j < n; j++){
                if(spaces[j] == x){
                    if(q.size() > 0){
                        spaces[j] = q.front(); q.pop();
                        ans += w[spaces[j]] * v[j];
                    }else spaces[j] = -1;
                }
            }
        }
    }
    cout << ans << endl;
}
signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    //freopen("inpt.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    //int tt; cin >> tt;
    int tt = 1;
    for(int t = 1; t <= tt; t++){
        solve();
    }
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
