Submission #102199

# Submission time Handle Problem Language Result Execution time Memory
102199 2019-03-23T11:28:40 Z rubenvd Ball Machine (BOI13_ballmachine) C++14
1.92308 / 100
1000 ms 11456 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);
	
	if( mini != 1e9 )
		return mini;
	else
		return 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;

	//cout << " " << in << endl;
	while( filled[in] ){
		//cout << " " << in << endl;
		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;
	}
	child[0].push_back(root);
	par[root]=0;

	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:32:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp: In function 'int main()':
ballmachine.cpp:32:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp:22:6: note: 'in' was declared here
  int in, mini = 1e9;
      ^~
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 2816 KB Output isn't correct
2 Incorrect 332 ms 4460 KB Output isn't correct
3 Incorrect 237 ms 4840 KB Output isn't correct
4 Correct 4 ms 2816 KB Output is correct
5 Incorrect 5 ms 2816 KB Output isn't correct
6 Incorrect 5 ms 2816 KB Output isn't correct
7 Incorrect 6 ms 2816 KB Output isn't correct
8 Incorrect 8 ms 2816 KB Output isn't correct
9 Incorrect 21 ms 2816 KB Output isn't correct
10 Incorrect 58 ms 3320 KB Output isn't correct
11 Incorrect 293 ms 4600 KB Output isn't correct
12 Incorrect 228 ms 4728 KB Output isn't correct
13 Incorrect 280 ms 4540 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1070 ms 4392 KB Time limit exceeded
2 Execution timed out 1060 ms 7800 KB Time limit exceeded
3 Execution timed out 1058 ms 5236 KB Time limit exceeded
4 Execution timed out 1069 ms 4452 KB Time limit exceeded
5 Execution timed out 1071 ms 4224 KB Time limit exceeded
6 Execution timed out 1078 ms 4216 KB Time limit exceeded
7 Execution timed out 1075 ms 3840 KB Time limit exceeded
8 Execution timed out 1076 ms 4472 KB Time limit exceeded
9 Execution timed out 1067 ms 8312 KB Time limit exceeded
10 Execution timed out 1079 ms 7804 KB Time limit exceeded
11 Execution timed out 1077 ms 7800 KB Time limit exceeded
12 Execution timed out 1082 ms 6608 KB Time limit exceeded
13 Execution timed out 1069 ms 10488 KB Time limit exceeded
14 Execution timed out 1073 ms 5236 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1082 ms 5500 KB Time limit exceeded
2 Execution timed out 1084 ms 6648 KB Time limit exceeded
3 Execution timed out 1081 ms 9720 KB Time limit exceeded
4 Execution timed out 1082 ms 7132 KB Time limit exceeded
5 Execution timed out 1073 ms 6904 KB Time limit exceeded
6 Execution timed out 1075 ms 6876 KB Time limit exceeded
7 Execution timed out 1082 ms 5880 KB Time limit exceeded
8 Execution timed out 1064 ms 9600 KB Time limit exceeded
9 Execution timed out 1083 ms 8312 KB Time limit exceeded
10 Execution timed out 1071 ms 7972 KB Time limit exceeded
11 Execution timed out 1074 ms 7928 KB Time limit exceeded
12 Execution timed out 1081 ms 6648 KB Time limit exceeded
13 Execution timed out 1078 ms 11384 KB Time limit exceeded
14 Execution timed out 1074 ms 5024 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1065 ms 8200 KB Time limit exceeded
2 Execution timed out 1075 ms 6648 KB Time limit exceeded
3 Execution timed out 1065 ms 11384 KB Time limit exceeded
4 Execution timed out 1061 ms 8256 KB Time limit exceeded
5 Execution timed out 1072 ms 7800 KB Time limit exceeded
6 Execution timed out 1080 ms 7800 KB Time limit exceeded
7 Execution timed out 1075 ms 6776 KB Time limit exceeded
8 Execution timed out 1063 ms 11456 KB Time limit exceeded
9 Execution timed out 1072 ms 5364 KB Time limit exceeded