Submission #102531

#TimeUsernameProblemLanguageResultExecution timeMemory
102531rubenvdBall Machine (BOI13_ballmachine)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; int par[100005], val[100005], num = 0, numD = 0, place[100005]; bool filled[100005]; vector<int> child[100005]; priority_queue<int, vector<int>, greater<int>> deleted; bool compareInt(const int& lhs, const int& rhs) { return val[lhs] < val[rhs]; } int dfs( int u ){ int mini = 1e9; for( auto v : child[u] ){ mini = min(dfs(v), mini); } place[u] = deleted.size(); deleted.push(place[u]); val[u] = min(u, mini); return val[u]; } int add( int cnt ){ int last; for( ; cnt > 0 && !deleted.empty(); cnt-- ){ filled[topo[deleted.top()]] = true; last = topo[deleted.top()]; deleted.pop(); } return last; } int del( int u ){ int in = par[u], cnt = 0, prev = u; while( filled[in] ){ prev = par[prev]; cnt++; in = par[in]; } deleted.push(place[prev]); filled[prev] = false; return cnt; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, q, root, type, k; cin >> n >> q; for( int i = 1; i <= n; ++i ){ filled[i] = false; cin >> par[i]; child[par[i]].push_back(i); if( par[i] == 0 ) root = i; } dfs(root); for( int i = 0; i < n; ++i ) sort(child[i].begin(), child[i].end(), compareInt); deleted.clear(); dfs(root); for( int i= 0; i < q; ++i ){ cin >> type >> k; if( type == 1 ){ int out = add(k); cout << out << "\n"; } else { cout << del(k) << "\n"; } } return 0; }

Compilation message (stderr)

ballmachine.cpp: In function 'int add(int)':
ballmachine.cpp:29:10: error: 'topo' was not declared in this scope
   filled[topo[deleted.top()]] = true;
          ^~~~
ballmachine.cpp: In function 'int main()':
ballmachine.cpp:69:10: error: 'class std::priority_queue<int, std::vector<int>, std::greater<int> >' has no member named 'clear'
  deleted.clear();
          ^~~~~