Submission #102297

# Submission time Handle Problem Language Result Execution time Memory
102297 2019-03-24T08:46:18 Z rubenvd Ball Machine (BOI13_ballmachine) C++14
25 / 100
1000 ms 12280 KB
#include <bits/stdc++.h>
using namespace std;
int par[100005], val[100005];
bool filled[100005];
vector<int> child[100005];


int dfs( int u ){
	int mini = 1e9;
	for( auto v : child[u] ){
		mini = min(dfs(v), mini);
	}
	val[u] = min(u, mini);
	return val[u];
}

int add( int u ){
	int in, mini = 1e9;
	for( auto v : child[u] ){
		if( val[v] < mini && !filled[v] ){
			in = v;
			mini = val[v];
		}
	}


	if( mini == 1e9 ){
		filled[u] = true;
		return u;
	}
	else
		return add(in);
}

int del( int u ){
	int in = par[u], cnt = 0, prev = u;

	while( filled[in] ){
		prev = par[prev];
		cnt++;
		in = par[in];
	}

	filled[prev] = false;
	return cnt;
}

int main(){
	int n, q, root, type, k;
	cin >> n >> q;
	memset(filled, false, sizeof filled);

	for( int i = 1; i <= n; ++i ){
		cin >> par[i];
		child[par[i]].push_back(i);
		if( par[i] == 0 )
			root = i;
	}

	dfs(root);

	for( int i= 0; i < q; ++i ){
		cin >> type >> k;
		if( type == 1 ){
			int out;
			for( int i = 0; i < k; ++i ){
				out = add(root);
			}
			cout << out << endl;
		} else {
			cout << del(k) << endl;
		}
	}
	return 0;
}

Compilation message

ballmachine.cpp: In function 'int add(int)':
ballmachine.cpp:28:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp: In function 'int main()':
ballmachine.cpp:28:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp:18:6: note: 'in' was declared here
  int in, mini = 1e9;
      ^~
ballmachine.cpp:60:5: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized]
  dfs(root);
  ~~~^~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 2816 KB Output is correct
2 Correct 329 ms 5688 KB Output is correct
3 Correct 239 ms 5624 KB Output is correct
4 Correct 4 ms 2816 KB Output is correct
5 Correct 5 ms 2816 KB Output is correct
6 Correct 6 ms 2816 KB Output is correct
7 Correct 6 ms 2812 KB Output is correct
8 Correct 8 ms 2816 KB Output is correct
9 Correct 24 ms 2944 KB Output is correct
10 Correct 61 ms 3576 KB Output is correct
11 Correct 387 ms 5764 KB Output is correct
12 Correct 240 ms 5732 KB Output is correct
13 Correct 318 ms 5636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1060 ms 4608 KB Time limit exceeded
2 Execution timed out 1072 ms 8696 KB Time limit exceeded
3 Execution timed out 1071 ms 6008 KB Time limit exceeded
4 Execution timed out 1062 ms 4728 KB Time limit exceeded
5 Execution timed out 1064 ms 4600 KB Time limit exceeded
6 Execution timed out 1069 ms 4608 KB Time limit exceeded
7 Execution timed out 1073 ms 4216 KB Time limit exceeded
8 Execution timed out 1070 ms 4728 KB Time limit exceeded
9 Execution timed out 1069 ms 9080 KB Time limit exceeded
10 Execution timed out 1073 ms 8568 KB Time limit exceeded
11 Execution timed out 1079 ms 8568 KB Time limit exceeded
12 Execution timed out 1051 ms 7292 KB Time limit exceeded
13 Execution timed out 1069 ms 11128 KB Time limit exceeded
14 Execution timed out 1056 ms 6036 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1069 ms 6088 KB Time limit exceeded
2 Execution timed out 1073 ms 7416 KB Time limit exceeded
3 Execution timed out 1086 ms 10364 KB Time limit exceeded
4 Execution timed out 1076 ms 7800 KB Time limit exceeded
5 Execution timed out 1072 ms 7416 KB Time limit exceeded
6 Execution timed out 1081 ms 7544 KB Time limit exceeded
7 Execution timed out 1075 ms 6520 KB Time limit exceeded
8 Execution timed out 1075 ms 10360 KB Time limit exceeded
9 Execution timed out 1082 ms 8952 KB Time limit exceeded
10 Execution timed out 1065 ms 8568 KB Time limit exceeded
11 Execution timed out 1074 ms 8568 KB Time limit exceeded
12 Execution timed out 1081 ms 7416 KB Time limit exceeded
13 Execution timed out 1077 ms 12024 KB Time limit exceeded
14 Execution timed out 1085 ms 5748 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1065 ms 9008 KB Time limit exceeded
2 Execution timed out 1081 ms 7544 KB Time limit exceeded
3 Execution timed out 1063 ms 12024 KB Time limit exceeded
4 Execution timed out 1079 ms 8952 KB Time limit exceeded
5 Execution timed out 1076 ms 8700 KB Time limit exceeded
6 Execution timed out 1070 ms 8568 KB Time limit exceeded
7 Execution timed out 1072 ms 7420 KB Time limit exceeded
8 Execution timed out 1078 ms 12280 KB Time limit exceeded
9 Execution timed out 1075 ms 6060 KB Time limit exceeded