# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
897245 | 2024-01-02T19:45:11 Z | Mathias | Ball Machine (BOI13_ballmachine) | C++14 | 1000 ms | 31392 KB |
#include <bits/stdc++.h> using namespace std; const int MAXN = 1e5+7; const int LOG = 19; int jp[MAXN][LOG]; int ojciec[MAXN]; int depth[MAXN]; int mini[MAXN]; int post[MAXN]; bool ball[MAXN]; vector<int> g[MAXN]; set<pair<int,int> > s; int cnt=0; void DFS(int x){ depth[x]=depth[ojciec[x]]+1; jp[x][0]=ojciec[x]; for(int i=1;i<LOG;i++) jp[x][i]=jp[jp[x][i-1]][i-1]; vector<pair<int,int> > vec; for(int i=0;i<g[x].size();i++) vec.push_back({mini[g[x][i]], g[x][i]}); sort(vec.begin(),vec.end()); for(int i=0;i<vec.size();i++) DFS(vec[i].second); s.insert({++cnt,x}); post[x]=cnt; } void DFS1(int x){ for(int i=0;i<g[x].size();i++){ DFS1(g[x][i]); } mini[x]=x; for(int i=0;i<g[x].size();i++) mini[x]=min(mini[x],mini[g[x][i]]); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,q,x,r,a,b; pair<int,int> p; cin>>n>>q; for(int i=1;i<=n;i++){ cin>>x; ojciec[i]=x; if(x==0) r=i; else g[x].push_back(i); } DFS1(r); DFS(r); //for(int i=1;i<=n;i++) cout<<mini[i]<<' '; cout<<'\n'; while(q--){ cin>>a>>b; if(a==1){ while(b--){ auto it=s.begin(); s.erase(it); p=*it; //cout<<p.second<<'\n'; ball[p.second]=1; if(b==0){ cout<<p.second<<'\n'; } } } else{ x=b; for(int i=LOG-1;i>=0;i--){ if(ball[jp[x][i]]==1){ x=jp[x][i]; } } ball[x]=0; s.insert({mini[x],x}); //cout<<b<<' '<<x<<'\n'; cout<<depth[b]-depth[x]<<'\n'; } } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 4696 KB | Output isn't correct |
2 | Incorrect | 103 ms | 15048 KB | Output isn't correct |
3 | Incorrect | 48 ms | 15036 KB | Output isn't correct |
4 | Execution timed out | 1022 ms | 4696 KB | Time limit exceeded |
5 | Incorrect | 1 ms | 4700 KB | Output isn't correct |
6 | Correct | 1 ms | 4700 KB | Output is correct |
7 | Execution timed out | 1056 ms | 4700 KB | Time limit exceeded |
8 | Incorrect | 2 ms | 4696 KB | Output isn't correct |
9 | Incorrect | 6 ms | 7000 KB | Output isn't correct |
10 | Execution timed out | 1040 ms | 7968 KB | Time limit exceeded |
11 | Incorrect | 81 ms | 14928 KB | Output isn't correct |
12 | Incorrect | 48 ms | 15080 KB | Output isn't correct |
13 | Incorrect | 82 ms | 15268 KB | Output isn't correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 34 ms | 10584 KB | Output isn't correct |
2 | Incorrect | 133 ms | 24360 KB | Output isn't correct |
3 | Correct | 62 ms | 18120 KB | Output is correct |
4 | Execution timed out | 1071 ms | 10836 KB | Time limit exceeded |
5 | Incorrect | 56 ms | 10576 KB | Output isn't correct |
6 | Incorrect | 60 ms | 11288 KB | Output isn't correct |
7 | Incorrect | 51 ms | 9516 KB | Output isn't correct |
8 | Incorrect | 27 ms | 10456 KB | Output isn't correct |
9 | Correct | 111 ms | 24512 KB | Output is correct |
10 | Incorrect | 122 ms | 24400 KB | Output isn't correct |
11 | Incorrect | 130 ms | 24432 KB | Output isn't correct |
12 | Incorrect | 118 ms | 21332 KB | Output isn't correct |
13 | Incorrect | 80 ms | 27892 KB | Output isn't correct |
14 | Correct | 62 ms | 18120 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 51 ms | 15108 KB | Output is correct |
2 | Correct | 122 ms | 22140 KB | Output is correct |
3 | Correct | 90 ms | 26192 KB | Output is correct |
4 | Correct | 79 ms | 21076 KB | Output is correct |
5 | Correct | 82 ms | 20816 KB | Output is correct |
6 | Correct | 81 ms | 20820 KB | Output is correct |
7 | Correct | 83 ms | 18676 KB | Output is correct |
8 | Correct | 88 ms | 26368 KB | Output is correct |
9 | Correct | 135 ms | 24992 KB | Output is correct |
10 | Correct | 141 ms | 25080 KB | Output is correct |
11 | Correct | 132 ms | 24660 KB | Output is correct |
12 | Correct | 134 ms | 21724 KB | Output is correct |
13 | Correct | 156 ms | 31392 KB | Output is correct |
14 | Correct | 114 ms | 18548 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 132 ms | 24868 KB | Output isn't correct |
2 | Incorrect | 126 ms | 21808 KB | Output isn't correct |
3 | Incorrect | 86 ms | 31060 KB | Output isn't correct |
4 | Incorrect | 138 ms | 25172 KB | Output isn't correct |
5 | Incorrect | 132 ms | 24340 KB | Output isn't correct |
6 | Incorrect | 113 ms | 24404 KB | Output isn't correct |
7 | Incorrect | 122 ms | 21844 KB | Output isn't correct |
8 | Incorrect | 115 ms | 31320 KB | Output isn't correct |
9 | Correct | 63 ms | 18224 KB | Output is correct |