Submission #392266

# Submission time Handle Problem Language Result Execution time Memory
392266 2021-04-20T18:13:24 Z nishuz Garage (IOI09_garage) C++17
5 / 100
2 ms 464 KB
// #pragma GCC optimize("Ofast,unroll-loops")
// #pragma GCC target("avx,avx2,sse,sse2")
 
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
 
using namespace __gnu_pbds;
using namespace std;
 
#define ll long long
#define ld long double
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define pb push_back
#define eb emplace_back
#define F first
#define S second
#define mp make_pair
#define random mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
 
template <typename T> using oset = tree <pair <T, T>, null_type, less <pair <T, T>>, rb_tree_tag, tree_order_statistics_node_update>;

template <typename Container>
void Print(Container& container, int starting) {
    auto Start = container.begin(), End = container.end();
    while (Start != End) cout << *(Start++) << " ";
    cout << '\n';
}
 
template <typename T>
void print(T&& t) {cout << t << '\n';}
 
template <typename T, typename... Args>
void print(T&& t, Args&&... args) {
    cout << t << " ";
    print(forward<Args>(args)...);
}

inline void solve() {
    int n, m, ans = 0;
    cin >> n >> m;
    vector <int> s(n), w(m), p(n);
    set <int> spots;
    for (int i = 0; i < n; ++i) {
        cin >> s[i];
        spots.insert(i);
    }
    for (int i = 0; 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.emplace(x);
        } else {
            x *= -1;
            spots.insert(p[x - 1]);
            p[x - 1] = 0;
        }
        while (!q.empty() && !spots.empty()) {
            int cur = q.front();
            auto place = spots.begin();
            spots.erase(place);
            p[cur - 1] = *place;
            ans += (w[cur - 1] * s[*place]);
            q.pop();
        }
    }
    print(ans);
}
 
int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int T = 1;
    // cin >> T;
    for (int test = 1; test <= T; ++test) {
        // cout << "Case #" << test << ": ";
        solve();
    }
}
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 6
2 Runtime error 1 ms 460 KB Execution killed with signal 6
3 Correct 1 ms 316 KB Output is correct
4 Runtime error 1 ms 332 KB Execution killed with signal 11
5 Runtime error 1 ms 460 KB Execution killed with signal 6
6 Runtime error 1 ms 460 KB Execution killed with signal 6
7 Runtime error 1 ms 440 KB Execution killed with signal 11
8 Runtime error 1 ms 332 KB Execution killed with signal 11
9 Runtime error 1 ms 332 KB Execution killed with signal 11
10 Runtime error 1 ms 464 KB Execution killed with signal 6
11 Runtime error 1 ms 440 KB Execution killed with signal 11
12 Runtime error 1 ms 440 KB Execution killed with signal 6
13 Runtime error 1 ms 456 KB Execution killed with signal 11
14 Runtime error 1 ms 460 KB Execution killed with signal 11
15 Runtime error 1 ms 460 KB Execution killed with signal 11
16 Runtime error 1 ms 460 KB Execution killed with signal 11
17 Runtime error 1 ms 456 KB Execution killed with signal 11
18 Runtime error 1 ms 460 KB Execution killed with signal 6
19 Runtime error 2 ms 460 KB Execution killed with signal 6
20 Runtime error 2 ms 460 KB Execution killed with signal 11