Submission #963415

# Submission time Handle Problem Language Result Execution time Memory
963415 2024-04-15T01:21:31 Z pcc Ball Machine (BOI13_ballmachine) C++17
0 / 100
91 ms 26144 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pll pair<ll,ll>
#define pii pair<int,int>
#define fs first
#define sc second
#define tlll tuple<ll,ll,ll>

const int mxn = 1e5+10;
vector<int> tree[mxn];
vector<int> eul;
int par[mxn][20],dep[mxn];
int N,Q;
int rt;
int dp[mxn];
int dfn[mxn];
set<int> st;

void dfs(int now){
	for(int i = 1;i<20;i++)par[now][i] = par[par[now][i-1]][i-1];
	sort(tree[now].begin(),tree[now].end());
	for(auto nxt:tree[now]){
		dep[nxt] = dep[now]+1;
		dfs(nxt);
	}
	dfn[now] = eul.size();
	eul.push_back(now);
	return;
}

int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>N>>Q;
	for(int i = 1;i<=N;i++){
		int p;
		cin>>p;
		par[i][0] = p;
		tree[p].push_back(i);
		if(!p)rt = i;
	}
	par[rt][0] = rt;
	dfs(rt);
	for(int i = 0;i<N;i++)st.insert(i);
	int C = 0;
	while(Q--){
		int t,k;
		cin>>t>>k;

		if(t == 1)C+=k;
		else C--;
		assert(C>=0&&C<=N);
		continue;

		int lst = 0;
		if(t == 1){
			while(k--){
				assert(!st.empty());
				lst = *st.begin();
				st.erase(st.begin());
				dp[eul[lst]] = true;
			}
			cout<<eul[lst]<<'\n';
		}
		else{
			lst = k;
			for(int i = 19;i>=0;i--){
				if(dp[par[lst][i]])lst = par[lst][i];
			}
			dp[lst] = false;
			st.insert(dfn[lst]);
			cout<<dep[k]-dep[lst]<<'\n';
		}
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 5468 KB Output isn't correct
2 Incorrect 33 ms 14100 KB Output isn't correct
3 Incorrect 32 ms 14040 KB Output isn't correct
4 Incorrect 1 ms 5468 KB Output isn't correct
5 Incorrect 1 ms 5468 KB Output isn't correct
6 Incorrect 1 ms 5468 KB Output isn't correct
7 Incorrect 2 ms 5468 KB Output isn't correct
8 Incorrect 2 ms 5464 KB Output isn't correct
9 Incorrect 3 ms 5720 KB Output isn't correct
10 Incorrect 10 ms 8536 KB Output isn't correct
11 Incorrect 33 ms 14036 KB Output isn't correct
12 Incorrect 32 ms 14040 KB Output isn't correct
13 Incorrect 35 ms 14032 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 15 ms 10072 KB Output isn't correct
2 Incorrect 65 ms 21952 KB Output isn't correct
3 Incorrect 49 ms 18124 KB Output isn't correct
4 Incorrect 23 ms 10844 KB Output isn't correct
5 Incorrect 25 ms 10844 KB Output isn't correct
6 Incorrect 25 ms 10588 KB Output isn't correct
7 Incorrect 25 ms 9820 KB Output isn't correct
8 Incorrect 15 ms 10504 KB Output isn't correct
9 Incorrect 60 ms 22172 KB Output isn't correct
10 Incorrect 65 ms 21772 KB Output isn't correct
11 Incorrect 74 ms 21972 KB Output isn't correct
12 Incorrect 66 ms 20120 KB Output isn't correct
13 Incorrect 59 ms 24524 KB Output isn't correct
14 Incorrect 47 ms 18124 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 25 ms 14880 KB Output isn't correct
2 Incorrect 57 ms 20180 KB Output isn't correct
3 Incorrect 47 ms 23176 KB Output isn't correct
4 Incorrect 45 ms 20060 KB Output isn't correct
5 Incorrect 43 ms 19936 KB Output isn't correct
6 Incorrect 51 ms 19744 KB Output isn't correct
7 Incorrect 53 ms 18640 KB Output isn't correct
8 Incorrect 47 ms 23260 KB Output isn't correct
9 Incorrect 62 ms 22384 KB Output isn't correct
10 Incorrect 67 ms 21968 KB Output isn't correct
11 Incorrect 60 ms 21968 KB Output isn't correct
12 Incorrect 58 ms 20300 KB Output isn't correct
13 Incorrect 67 ms 26060 KB Output isn't correct
14 Incorrect 55 ms 18088 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 60 ms 22224 KB Output isn't correct
2 Incorrect 57 ms 20176 KB Output isn't correct
3 Incorrect 67 ms 26144 KB Output isn't correct
4 Incorrect 57 ms 22228 KB Output isn't correct
5 Incorrect 60 ms 21808 KB Output isn't correct
6 Incorrect 91 ms 21920 KB Output isn't correct
7 Incorrect 58 ms 20176 KB Output isn't correct
8 Incorrect 65 ms 26060 KB Output isn't correct
9 Incorrect 47 ms 18044 KB Output isn't correct